Jump to content
Sign in to follow this  
dabear

forskjell i language constructs

Recommended Posts

list, echo , print, array med flere er alle «language construct». I manualen til echo står det

echo() is not actually a function (it is a language construct), so you are not required to use parentheses with it.

ut ifra dette, vil jeg tru at jeg ikke trenger å bruke paranteser på noen av de andre «language construct»-ene heller, men

$n = array 'yes','hey';

gir meg

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting '(' in /var/www/tests/langConstr.php on line 6

Hvorfor?

Share this post


Link to post

Du trenger ikke å sette parentes etter echo, include osv. men dette er nødvendig når du har array, nettopp fordi du der definerer forskjellige verdier som skal lagres i en array. Hvis du ikke har parentes så skjønner ikke php hvorfor du vil ang argumenter - siden du setter inn , (komma). Jeg antar at det er gjort for å forbedre hastigheten til PHP - ellers ville den bruke unødvendig tid på å forsøke å tolke argumenter.

Share this post


Link to post

Er nok ikke et vitenskapelig svar, men det ville jo blitt et salig rot hvis man ikke hadde brukt () på array. Spesielt ved multidimensjonale arrays ville det blitt mer eller mindre umulig å se hva som hørte til hvor.

 

For å ta et eksempel:

array 'kake', 'papir', array 'blomst', 'melon';

Er 'melon' en del av det ytre eller indre array'et?`Umulig å si uten paranteser.

Edited by Loomy

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...