cvs: phpdoc-si /language expressions.xml
| From: | Dejan Markic | Date: | Tue, 03 Sep 2002 13:44:39 +0000 |
| Subject: | cvs: phpdoc-si /language expressions.xml | ||
| Groups: | php.doc.sl | ||
| Request: | Send a blank email to doc-sl+get-27@lists.php.net to get a copy of this message | ||
dejan Tue Sep 3 09:44:39 2002 EDT
Modified files:
/phpdoc-si/language expressions.xml
Log:
Done.
Index: phpdoc-si/language/expressions.xml diff -u phpdoc-si/language/expressions.xml:1.1 phpdoc-si/language/expressions.xml:1.2 --- phpdoc-si/language/expressions.xml:1.1 Mon Sep 2 18:16:58 2002 +++ phpdoc-si/language/expressions.xml Tue Sep 3 09:44:39 2002 @@ -1,31 +1,30 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> -<!-- $EN-Revision: 1.19 Maintainer: dejan Status: working --> +<!-- $Revision: 1.2 $ --> +<!-- $EN-Revision: 1.19 Maintainer: dejan Status: done --> <chapter id="language.expressions"> - <title>Expressions</title> + <title>Izrazi</title> <simpara> - Expressions are the most important building stones of PHP. In PHP, - almost anything you write is an expression. The simplest yet - most accurate way to define an expression is "anything that has a - value".</simpara> + Izrazi so najpomembnejši del PHP-ja. V PHP-ju je skoraj vse + kar napišete izraz. Najenostavnejša, a tudi najbolj točna + definicija izraza je: "vse kar ima neko vrednost".</simpara> <simpara> - The most basic forms of expressions are constants and variables. - When you type "$a = 5", you're assigning '5' into $a. '5', obviously, - has the value 5, or in other words '5' is an expression with the - value of 5 (in this case, '5' is an integer constant).</simpara> + Najbolj osnovne oblike izrazov so konstante in spremenljivke. + Ko zapišete "$a = 5", dodeljujete vrednost '5' v spremenljivko + $a. '5', očitno, ima vrednost 5, ali v drugih besedah, '5' je + izraz z vrednostjo 5 (v tem primeru je '5' številska konstanta).</simpara> <simpara> - After this assignment, you'd expect $a's value to be 5 as - well, so if you wrote $b = $a, you'd expect it to behave just as - if you wrote $b = 5. In other words, $a is an expression with the - value of 5 as well. If everything works right, this is exactly - what will happen.</simpara> + Po tej dodelitvi, bi pričakovali, da bo vrednost spremenljivke + $a enaka 5. Pravtako, če bi zapisali $b = $a, bi pričakovali, + da se bo obnašalo kot če bi zapisali $b = 5. Z drugimi besedami, + tudi $a je izraz, ki ima vrednost 5. Če vse deluje pravilno, se + bo ravno to zgodilo.</simpara> <para> - Slightly more complex examples for expressions are functions. For - instance, consider the following function: + Malenkost bolj zahtevni primer za izraz so funkcije. + Kot primer, upoštevajte naslednjo funkcijo: <informalexample> <programlisting role="php"> @@ -39,111 +38,108 @@ </informalexample></para> <simpara> - Assuming you're familiar with the concept of functions (if you're - not, take a look at the chapter about functions), you'd assume - that typing <literal>$c = foo()</literal> is essentially just like - writing <literal>$c = 5</literal>, and you're right. Functions - are expressions with the value of their return value. Since foo() - returns 5, the value of the expression 'foo()' is 5. Usually - functions don't just return a static value but compute something.</simpara> - - <simpara> - Of course, values in PHP don't have to be integers, and very often - they aren't. PHP supports three scalar value types: integer values, - floating point values and string values (scalar values are values that - you can't 'break' into smaller pieces, unlike arrays, for instance). - PHP also supports two composite (non-scalar) types: arrays and - objects. Each of these value types can be assigned into variables or - returned from functions.</simpara> - - <simpara> - So far, users of PHP/FI 2 shouldn't feel any change. However, PHP - takes expressions much further, in the same way many other - languages do. PHP is an expression-oriented language, in the - sense that almost everything is an expression. Consider the - example we've already dealt with, '$a = 5'. It's easy to see that - there are two values involved here, the value of the integer - constant '5', and the value of $a which is being updated to 5 as - well. But the truth is that there's one additional value involved - here, and that's the value of the assignment itself. The - assignment itself evaluates to the assigned value, in this case 5. - In practice, it means that '$a = 5', regardless of what it does, - is an expression with the value 5. Thus, writing something like - '$b = ($a = 5)' is like writing '$a = 5; $b = 5;' (a semicolon - marks the end of a statement). Since assignments are parsed in a - right to left order, you can also write '$b = $a = 5'.</simpara> - - <simpara> - Another good example of expression orientation is pre- and - post-increment and decrement. Users of PHP/FI 2 and many other - languages may be familiar with the notation of variable++ and - variable--. These are increment and decrement operators. In - PHP/FI 2, the statement '$a++' has no value (is not an - expression), and thus you can't assign it or use it in any way. - PHP enhances the increment/decrement capabilities by making - these expressions as well, like in C. In PHP, like in C, there - are two types of increment - pre-increment and post-increment. - Both pre-increment and post-increment essentially increment the - variable, and the effect on the variable is idential. The - difference is with the value of the increment expression. - Pre-increment, which is written '++$variable', evaluates to the - incremented value (PHP increments the variable before reading its - value, thus the name 'pre-increment'). Post-increment, which is - written '$variable++' evaluates to the original value of - $variable, before it was incremented (PHP increments the variable - after reading its value, thus the name 'post-increment').</simpara> - - <simpara> - A very common type of expressions are comparison expressions. - These expressions evaluate to either 0 or 1, meaning &false; or &true; - (respectively). PHP supports > (bigger than), >= (bigger than - or equal to), == (equal), != (not equal), < (smaller than) and <= - (smaller than or equal to). These expressions are most commonly used - inside conditional execution, such as <literal>if</literal> - statements.</simpara> - - <simpara> - The last example of expressions we'll deal with here is combined - operator-assignment expressions. You already know that if you - want to increment $a by 1, you can simply write '$a++' or '++$a'. - But what if you want to add more than one to it, for instance 3? - You could write '$a++' multiple times, but this is obviously not a - very efficient or comfortable way. A much more common practice is - to write '$a = $a + 3'. '$a + 3' evaluates to the value of $a - plus 3, and is assigned back into $a, which results in - incrementing $a by 3. In PHP, as in several other languages - like C, you can write this in a shorter way, which with time would - become clearer and quicker to understand as well. Adding 3 to the - current value of $a can be written '$a += 3'. This means exactly - "take the value of $a, add 3 to it, and assign it back into $a". - In addition to being shorter and clearer, this also results in - faster execution. The value of '$a += 3', like the value of a - regular assignment, is the assigned value. Notice that it is NOT - 3, but the combined value of $a plus 3 (this is the value that's - assigned into $a). Any two-place operator can be used in this - operator-assignment mode, for example '$a -= 5' (subtract 5 from - the value of $a), '$b *= 7' (multiply the value of $b by 7), etc. + Če predvidevamo, da ste seznanjeni s konceptom funkcij (če + niste, si oglejte poglavje o funkcijah), bi predvidevali da ko + zapišete <literal>$c = foo()</literal>, je to pravzaprav enako, + kot če bi zapisali <literal>$c = 5</literal> - kar je popolnoma + pravilno. Funkcije so izrazi, ki imajo vrednost vrnjene vrednosti funkcije. + Ker foo() vrne 5, je vrednost izraza 'foo()' enaka 5. Ponavadi funkcije + ne vrnejo neke statične vrednosti, ampak vrnejo neko izračunano vrednost.</simpara> + + <simpara> + Seveda, za vrednosti v PHP-ju ne velja, da morajo biti številke in + velikokrat to tudi niso. PHP podpira tri skalarne tipe vrednosti: + številske vrednosti, plavajočo vejico in niz (skalarne vrednosti so + vrednosti, ki ji ne moremo 'razbiti' na manjše dele, kar recimo ne + velja za polja). PHP podpira tudi dva neskalarna tipa: polja in objekti. + Vsak od teh tipov vrednosti je lahko dodeljen neki spremenljivki, ali vrnjen + iz neke funkcije.</simpara> + + <simpara> + Do sedaj, uporabniki PHP/FI 2 nebi smeli čutiti nobene spremembe. + Vseeno, PHP nadgrajuje izraze, tako kot ostali programski jeziki. PHP + je izrazni jezik v tem pomenu besede, da je skoraj vse, kar zapišemo, izraz. + Upoštevajte primer, ki smo ga že imeli, '$a = 5'. Zlahka opazimo, + da sta tukaj dve vrednosti, vrednost številske konstante in vrednost + spremenljivke $a kateri je bila dodeljena vrednost 5. V resnici pa je + tu še ena vrednost - vrednost samega prireditvenega stavka. + Prireditveni stavek sam, dobi vrednost same prireditve, v tem primeru 5. + V praksi to pomeni, da je '$a = 5', karkoli še naredi, izraz z vrednostjo + 5. Kar pomeni, da če zapisemo '$b = ($a = 5)', je enako zapisu + '$a = 5; $b = 5;' (podpičje označuje konec stavka). Ker so + pripreditveni stavki razčlenjeni od desne proti levi, lahko zapišemo + to tudi kot '$b = $a = 5'.</simpara> + + <simpara> + Drugi dober primer izraza je pred- in po-povečanje in + manjšanje. Uporabniki PHP/FI 2, kot tudi drugih jezikov, + so verjetno seznanjeni z notacijo spremenljivka++ in spremenljivka--. + To sta operatorja za povečanje in pomanjšanje. V PHP/FI 2 + stavek '$a++' nima nobene vrednosti (ni izraz) in ga zato tudi ne moremo + prirediti na noben način. PHP izboljša sposobnost + povečevanja/manjšanja s tem, da tudi to postane izraz, tako + kot v programskem jeziku C. V PHP-ju, kot v C-ju, obstajata dva tipa + povečevanja. - pred-povečevanje in po-povečevanje. + Oba povečata spremenljivko in efekt na spremenljivko je v obeh + primerih enak. Razlika je v tem, da pred-povečanje, zapisano kot + '++spremenljivka', vrne povečano vrednost (PHP poveča spremenljivko, + preden prebere njeno vrednost, od tu ime pred-povečanje). Po-povečanje, + katerega zapišemo kot 'spremenljivka++', vrne vrednost spremenljivke + pred povečanjem (PHP poveča vrednost spremenljivke šele ko + jo prebere).</simpara> + + <simpara> + Zelo pogosti tip izraza je primerjalni izraz. Te izrazi lahko vrnejo + vrednost 0 ali 1, kar pomeni &false; ali &true;. PHP podpira + > (večji kot), >= (večji kot ali enak), == (enak), + != (neenak), < (manjšsi kot) in <= (manjši kot ali enak). + Te izrazi so najbolj pogosto uporabljeni znotraj pogojnih stavkov, kot so + <literal>if</literal> stavki.</simpara> + + <simpara> + Zandji primer izrazov, ki jih bomo obdelali v tem poglavju je + kombiniran z opreratorjem in dodelitvenim izrazom. Kot že + veste, če želite $a povečati za 1, lahko enostavno + napišete '$a++' ali '++$a'. Kaj se pa zgodi, če bi + želeli povečati spremenljivko za recimo 3? Lahko bi napisali + '$a++' trikrat in dobili željeni rezultat, a to ni najbolj + učinkovita ali zadovoljiva rešitev. V praksi se uporablja + '$a = $a + 3'. '$a + 3' vrne vrednost spremenljivke $a plus 3 in jo + vrne nazaj v $a, kar pomeni, da se $a poveča za 3. V PHP-ju, kot + tudi v drugih programskih jezikih, lahko to zapišemo krajše, + kar bi čez čas bilo bolj jasno in lažje za razumeti. Torej, + če želimo vrednost spremenljivke $a povečati za 3, + preprosto zapišemo '$a += 3'. To pomeni: "vzemi vrednost + spremenljivke $a, jo povečaj za 3 in dodeli dobljeno vrednost + nazaj v spremenljivko $a". Poleg tega, da je ta način krajši + in lažji, je tudi hitrejši. Vrednost '$a += 3', kot vrednost + navadnega dodelitvenega izraza, je dodeljena vrednost. Zapomnite si, da + to NI 3, ampak skupna vrednost od $a + 3 (to ni vrednost, ki je dodeljena + spremenljivki $a). Uporabljate lahko tudi druge operatorje, kot naprimer + '$a -= 5' (odšteje 5 od vrednosti spremenljivke $a), '$b *= 7' + (množi vrednost spremenljivke $b z 7), itd. </simpara> <para> - There is one more expression that may seem odd if you haven't seen - it in other languages, the ternary conditional operator: + Obstaja še en izraz, ki se vam bo mogoče zdel čuden, + če ga še niste srečali v drugih jezikih - trojni + pogojni operator: <informalexample><programlisting> <![CDATA[ -$first ? $second : $third +$prvi ? $drugi : $tretji ]]> </programlisting></informalexample> - If the value of the first subexpression is &true; (non-zero), then - the second subexpression is evaluated, and that is the result of - the conditional expression. Otherwise, the third subexpression is - evaluated, and that is the value. + Če je vrednost prvega podizraza &true; (ni nič), potem + se izvede drugi podizraz, kar postane rezultat pogojnega izraza. V + nasprotnem primeru se izvede tretju podizraz, kar postane rezultat + pogojnega izraza. </para> <para> - The following example should help you understand pre- and - post-increment and expressions in general a bit better: + Spodnji primer bi vam moral pomagati malo bolje razumeti + pred-, po-povečanje in izraze na splosno: <informalexample> <programlisting role="php"> @@ -152,58 +148,55 @@ { return $i*2; } -$b = $a = 5; /* assign the value five into the variable $a and $b */ -$c = $a++; /* post-increment, assign original value of $a - (5) to $c */ -$e = $d = ++$b; /* pre-increment, assign the incremented value of - $b (6) to $d and $e */ - -/* at this point, both $d and $e are equal to 6 */ - -$f = double($d++); /* assign twice the value of $d <emphasis>before</emphasis> - the increment, 2*6 = 12 to $f */ -$g = double(++$e); /* assign twice the value of $e <emphasis>after</emphasis> - the increment, 2*7 = 14 to $g */ -$h = $g += 10; /* first, $g is incremented by 10 and ends with the - value of 24. the value of the assignment (24) is - then assigned into $h, and $h ends with the value - of 24 as well. */ +$b = $a = 5; /* dodeli vrednost 5 v spremenljivke $a in $b */ +$c = $a++; /* po-povecanje - dodeli originalno vrednost $a + (5) v $c */ +$e = $d = ++$b; /* pred-povecanje, dodeli povecano vrednost spremenljivke + $b (6) v $d in $e */ + +/* v tej tocki, sta $d in $e enaka 6 */ + +$f = double($d++); /* dodeli dvakrat vecjo vrednost spremenljivke $d, + <emphasis>preden</emphasis> jo povecamo, 2*6 = 12 v $f */ +$g = double(++$e); /* dodeli dvakrat vecjo vrednost spremenljivke $e, + <emphasis>po</emphasis> povecanju, 2*7 = 14 v $g */ +$h = $g += 10; /* $g je prvo povecan za 10 s cimer dobi vrednost 24. + Vrednost je potem dodeljena spremelnjivki $h, + ki ima potem pravtako vrednost 24 */ ]]> </programlisting> </informalexample> </para> <simpara> - In the beginning of the chapter we said that we'll be describing - the various statement types, and as promised, expressions can be - statements. However, not every expression is a statement. In - this case, a statement has the form of 'expr' ';' that is, an - expression followed by a semicolon. In '$b=$a=5;', $a=5 is a - valid expression, but it's not a statement by itself. '$b=$a=5;' - however is a valid statement.</simpara> + V začetku tega poglavja smo zapisali, da bomo opisali različne + tipe stavkov in kot obljubljeno, izraz je lahko stavek. A vseeno, ni vsak + izraz stavek. V tem primeru ima stavek obliko 'izraz' ';', to je izraz + ki mu sledi podpičje. V '$b=$a=5;', $a=5 je veljaven izraz, + ampak ni stavek sam po sebi. '$b=$a=5;' pa je veljaven stavek.</simpara> <simpara> - One last thing worth mentioning is the truth value of expressions. - In many events, mainly in conditional execution and loops, you're - not interested in the specific value of the expression, but only - care about whether it means &true; or &false;. + Zadnja stvar, ki bi bila vredna omembe je resnična vrednost + izraza. V veliko primerih, večinoma v pogojnem izvajanju ali + zankah, vas ne zanima toliko sama vrednost izraza, ampak samo ali je + ta izraz &true; ali &false;. <!-- (PHP doesn't have a dedicated boolean type) : WRONG, php does. --> - The constants &true; and &false; (case-insensitive) are the two - possible boolean values. When necessary, an expression is - automatically converted to boolean. See the - <link linkend="language.types.typecasting">section about - type-casting</link> for details about how. + Konstante &true; in &false; (majhne ali velike črke) sta dve + najbolj verjetne boolean vrednosti. Ko je potrebno, se izraz + avtomatsko konvertira v boolean vrednost. Poglejte si + <link linkend="language.types.typecasting">section about + type-casting</link> za več informacij o tem. </simpara> <simpara> - PHP provides a full and powerful implementation of expressions, and - documenting it entirely goes beyond the scope of this manual. The - above examples should give you a good idea about what expressions - are and how you can construct useful expressions. Throughout the - rest of this manual we'll write <replaceable>expr</replaceable> - to indicate any valid PHP expression.</simpara> + PHP zagotavlja popolno implementacijo izrazov in če bi želeli + dokumentirati vse možnosti in načine uporabe, bi bilo to + preveč za ta priročnik. Zgornji primeri naj bi vam dali + idejo kaj izrazi so in kako sestaviti uporabne izraze. Skozi ta + priročnik bomo, ko bomo želeli poudariti veljaven PHP izraz, + zapisali to kot <replaceable>expr</replaceable>. </chapter>
Index: phpdoc-si/language/expressions.xml diff -u phpdoc-si/language/expressions.xml:1.1 phpdoc-si/language/expressions.xml:1.2 --- phpdoc-si/language/expressions.xml:1.1 Mon Sep 2 18:16:58 2002 +++ phpdoc-si/language/expressions.xml Tue Sep 3 09:44:39 2002 @@ -1,31 +1,30 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> -<!-- $EN-Revision: 1.19 Maintainer: dejan Status: working --> +<!-- $Revision: 1.2 $ --> +<!-- $EN-Revision: 1.19 Maintainer: dejan Status: done --> <chapter id="language.expressions"> - <title>Expressions</title> + <title>Izrazi</title> <simpara> - Expressions are the most important building stones of PHP. In PHP, - almost anything you write is an expression. The simplest yet - most accurate way to define an expression is "anything that has a - value".</simpara> + Izrazi so najpomembnejši del PHP-ja. V PHP-ju je skoraj vse + kar napišete izraz. Najenostavnejša, a tudi najbolj točna + definicija izraza je: "vse kar ima neko vrednost".</simpara> <simpara> - The most basic forms of expressions are constants and variables. - When you type "$a = 5", you're assigning '5' into $a. '5', obviously, - has the value 5, or in other words '5' is an expression with the - value of 5 (in this case, '5' is an integer constant).</simpara> + Najbolj osnovne oblike izrazov so konstante in spremenljivke. + Ko zapišete "$a = 5", dodeljujete vrednost '5' v spremenljivko + $a. '5', očitno, ima vrednost 5, ali v drugih besedah, '5' je + izraz z vrednostjo 5 (v tem primeru je '5' številska konstanta).</simpara> <simpara> - After this assignment, you'd expect $a's value to be 5 as - well, so if you wrote $b = $a, you'd expect it to behave just as - if you wrote $b = 5. In other words, $a is an expression with the - value of 5 as well. If everything works right, this is exactly - what will happen.</simpara> + Po tej dodelitvi, bi pričakovali, da bo vrednost spremenljivke + $a enaka 5. Pravtako, če bi zapisali $b = $a, bi pričakovali, + da se bo obnašalo kot če bi zapisali $b = 5. Z drugimi besedami, + tudi $a je izraz, ki ima vrednost 5. Če vse deluje pravilno, se + bo ravno to zgodilo.</simpara> <para> - Slightly more complex examples for expressions are functions. For - instance, consider the following function: + Malenkost bolj zahtevni primer za izraz so funkcije. + Kot primer, upoštevajte naslednjo funkcijo: <informalexample> <programlisting role="php"> @@ -39,111 +38,108 @@ </informalexample></para> <simpara> - Assuming you're familiar with the concept of functions (if you're - not, take a look at the chapter about functions), you'd assume - that typing <literal>$c = foo()</literal> is essentially just like - writing <literal>$c = 5</literal>, and you're right. Functions - are expressions with the value of their return value. Since foo() - returns 5, the value of the expression 'foo()' is 5. Usually - functions don't just return a static value but compute something.</simpara> - - <simpara> - Of course, values in PHP don't have to be integers, and very often - they aren't. PHP supports three scalar value types: integer values, - floating point values and string values (scalar values are values that - you can't 'break' into smaller pieces, unlike arrays, for instance). - PHP also supports two composite (non-scalar) types: arrays and - objects. Each of these value types can be assigned into variables or - returned from functions.</simpara> - - <simpara> - So far, users of PHP/FI 2 shouldn't feel any change. However, PHP - takes expressions much further, in the same way many other - languages do. PHP is an expression-oriented language, in the - sense that almost everything is an expression. Consider the - example we've already dealt with, '$a = 5'. It's easy to see that - there are two values involved here, the value of the integer - constant '5', and the value of $a which is being updated to 5 as - well. But the truth is that there's one additional value involved - here, and that's the value of the assignment itself. The - assignment itself evaluates to the assigned value, in this case 5. - In practice, it means that '$a = 5', regardless of what it does, - is an expression with the value 5. Thus, writing something like - '$b = ($a = 5)' is like writing '$a = 5; $b = 5;' (a semicolon - marks the end of a statement). Since assignments are parsed in a - right to left order, you can also write '$b = $a = 5'.</simpara> - - <simpara> - Another good example of expression orientation is pre- and - post-increment and decrement. Users of PHP/FI 2 and many other - languages may be familiar with the notation of variable++ and - variable--. These are increment and decrement operators. In - PHP/FI 2, the statement '$a++' has no value (is not an - expression), and thus you can't assign it or use it in any way. - PHP enhances the increment/decrement capabilities by making - these expressions as well, like in C. In PHP, like in C, there - are two types of increment - pre-increment and post-increment. - Both pre-increment and post-increment essentially increment the - variable, and the effect on the variable is idential. The - difference is with the value of the increment expression. - Pre-increment, which is written '++$variable', evaluates to the - incremented value (PHP increments the variable before reading its - value, thus the name 'pre-increment'). Post-increment, which is - written '$variable++' evaluates to the original value of - $variable, before it was incremented (PHP increments the variable - after reading its value, thus the name 'post-increment').</simpara> - - <simpara> - A very common type of expressions are comparison expressions. - These expressions evaluate to either 0 or 1, meaning &false; or &true; - (respectively). PHP supports > (bigger than), >= (bigger than - or equal to), == (equal), != (not equal), < (smaller than) and <= - (smaller than or equal to). These expressions are most commonly used - inside conditional execution, such as <literal>if</literal> - statements.</simpara> - - <simpara> - The last example of expressions we'll deal with here is combined - operator-assignment expressions. You already know that if you - want to increment $a by 1, you can simply write '$a++' or '++$a'. - But what if you want to add more than one to it, for instance 3? - You could write '$a++' multiple times, but this is obviously not a - very efficient or comfortable way. A much more common practice is - to write '$a = $a + 3'. '$a + 3' evaluates to the value of $a - plus 3, and is assigned back into $a, which results in - incrementing $a by 3. In PHP, as in several other languages - like C, you can write this in a shorter way, which with time would - become clearer and quicker to understand as well. Adding 3 to the - current value of $a can be written '$a += 3'. This means exactly - "take the value of $a, add 3 to it, and assign it back into $a". - In addition to being shorter and clearer, this also results in - faster execution. The value of '$a += 3', like the value of a - regular assignment, is the assigned value. Notice that it is NOT - 3, but the combined value of $a plus 3 (this is the value that's - assigned into $a). Any two-place operator can be used in this - operator-assignment mode, for example '$a -= 5' (subtract 5 from - the value of $a), '$b *= 7' (multiply the value of $b by 7), etc. + Če predvidevamo, da ste seznanjeni s konceptom funkcij (če + niste, si oglejte poglavje o funkcijah), bi predvidevali da ko + zapišete <literal>$c = foo()</literal>, je to pravzaprav enako, + kot če bi zapisali <literal>$c = 5</literal> - kar je popolnoma + pravilno. Funkcije so izrazi, ki imajo vrednost vrnjene vrednosti funkcije. + Ker foo() vrne 5, je vrednost izraza 'foo()' enaka 5. Ponavadi funkcije + ne vrnejo neke statične vrednosti, ampak vrnejo neko izračunano vrednost.</simpara> + + <simpara> + Seveda, za vrednosti v PHP-ju ne velja, da morajo biti številke in + velikokrat to tudi niso. PHP podpira tri skalarne tipe vrednosti: + številske vrednosti, plavajočo vejico in niz (skalarne vrednosti so + vrednosti, ki ji ne moremo 'razbiti' na manjše dele, kar recimo ne + velja za polja). PHP podpira tudi dva neskalarna tipa: polja in objekti. + Vsak od teh tipov vrednosti je lahko dodeljen neki spremenljivki, ali vrnjen + iz neke funkcije.</simpara> + + <simpara> + Do sedaj, uporabniki PHP/FI 2 nebi smeli čutiti nobene spremembe. + Vseeno, PHP nadgrajuje izraze, tako kot ostali programski jeziki. PHP + je izrazni jezik v tem pomenu besede, da je skoraj vse, kar zapišemo, izraz. + Upoštevajte primer, ki smo ga že imeli, '$a = 5'. Zlahka opazimo, + da sta tukaj dve vrednosti, vrednost številske konstante in vrednost + spremenljivke $a kateri je bila dodeljena vrednost 5. V resnici pa je + tu še ena vrednost - vrednost samega prireditvenega stavka. + Prireditveni stavek sam, dobi vrednost same prireditve, v tem primeru 5. + V praksi to pomeni, da je '$a = 5', karkoli še naredi, izraz z vrednostjo + 5. Kar pomeni, da če zapisemo '$b = ($a = 5)', je enako zapisu + '$a = 5; $b = 5;' (podpičje označuje konec stavka). Ker so + pripreditveni stavki razčlenjeni od desne proti levi, lahko zapišemo + to tudi kot '$b = $a = 5'.</simpara> + + <simpara> + Drugi dober primer izraza je pred- in po-povečanje in + manjšanje. Uporabniki PHP/FI 2, kot tudi drugih jezikov, + so verjetno seznanjeni z notacijo spremenljivka++ in spremenljivka--. + To sta operatorja za povečanje in pomanjšanje. V PHP/FI 2 + stavek '$a++' nima nobene vrednosti (ni izraz) in ga zato tudi ne moremo + prirediti na noben način. PHP izboljša sposobnost + povečevanja/manjšanja s tem, da tudi to postane izraz, tako + kot v programskem jeziku C. V PHP-ju, kot v C-ju, obstajata dva tipa + povečevanja. - pred-povečevanje in po-povečevanje. + Oba povečata spremenljivko in efekt na spremenljivko je v obeh + primerih enak. Razlika je v tem, da pred-povečanje, zapisano kot + '++spremenljivka', vrne povečano vrednost (PHP poveča spremenljivko, + preden prebere njeno vrednost, od tu ime pred-povečanje). Po-povečanje, + katerega zapišemo kot 'spremenljivka++', vrne vrednost spremenljivke + pred povečanjem (PHP poveča vrednost spremenljivke šele ko + jo prebere).</simpara> + + <simpara> + Zelo pogosti tip izraza je primerjalni izraz. Te izrazi lahko vrnejo + vrednost 0 ali 1, kar pomeni &false; ali &true;. PHP podpira + > (večji kot), >= (večji kot ali enak), == (enak), + != (neenak), < (manjšsi kot) in <= (manjši kot ali enak). + Te izrazi so najbolj pogosto uporabljeni znotraj pogojnih stavkov, kot so + <literal>if</literal> stavki.</simpara> + + <simpara> + Zandji primer izrazov, ki jih bomo obdelali v tem poglavju je + kombiniran z opreratorjem in dodelitvenim izrazom. Kot že + veste, če želite $a povečati za 1, lahko enostavno + napišete '$a++' ali '++$a'. Kaj se pa zgodi, če bi + želeli povečati spremenljivko za recimo 3? Lahko bi napisali + '$a++' trikrat in dobili željeni rezultat, a to ni najbolj + učinkovita ali zadovoljiva rešitev. V praksi se uporablja + '$a = $a + 3'. '$a + 3' vrne vrednost spremenljivke $a plus 3 in jo + vrne nazaj v $a, kar pomeni, da se $a poveča za 3. V PHP-ju, kot + tudi v drugih programskih jezikih, lahko to zapišemo krajše, + kar bi čez čas bilo bolj jasno in lažje za razumeti. Torej, + če želimo vrednost spremenljivke $a povečati za 3, + preprosto zapišemo '$a += 3'. To pomeni: "vzemi vrednost + spremenljivke $a, jo povečaj za 3 in dodeli dobljeno vrednost + nazaj v spremenljivko $a". Poleg tega, da je ta način krajši + in lažji, je tudi hitrejši. Vrednost '$a += 3', kot vrednost + navadnega dodelitvenega izraza, je dodeljena vrednost. Zapomnite si, da + to NI 3, ampak skupna vrednost od $a + 3 (to ni vrednost, ki je dodeljena + spremenljivki $a). Uporabljate lahko tudi druge operatorje, kot naprimer + '$a -= 5' (odšteje 5 od vrednosti spremenljivke $a), '$b *= 7' + (množi vrednost spremenljivke $b z 7), itd. </simpara> <para> - There is one more expression that may seem odd if you haven't seen - it in other languages, the ternary conditional operator: + Obstaja še en izraz, ki se vam bo mogoče zdel čuden, + če ga še niste srečali v drugih jezikih - trojni + pogojni operator: <informalexample><programlisting> <![CDATA[ -$first ? $second : $third +$prvi ? $drugi : $tretji ]]> </programlisting></informalexample> - If the value of the first subexpression is &true; (non-zero), then - the second subexpression is evaluated, and that is the result of - the conditional expression. Otherwise, the third subexpression is - evaluated, and that is the value. + Če je vrednost prvega podizraza &true; (ni nič), potem + se izvede drugi podizraz, kar postane rezultat pogojnega izraza. V + nasprotnem primeru se izvede tretju podizraz, kar postane rezultat + pogojnega izraza. </para> <para> - The following example should help you understand pre- and - post-increment and expressions in general a bit better: + Spodnji primer bi vam moral pomagati malo bolje razumeti + pred-, po-povečanje in izraze na splosno: <informalexample> <programlisting role="php"> @@ -152,58 +148,55 @@ { return $i*2; } -$b = $a = 5; /* assign the value five into the variable $a and $b */ -$c = $a++; /* post-increment, assign original value of $a - (5) to $c */ -$e = $d = ++$b; /* pre-increment, assign the incremented value of - $b (6) to $d and $e */ - -/* at this point, both $d and $e are equal to 6 */ - -$f = double($d++); /* assign twice the value of $d <emphasis>before</emphasis> - the increment, 2*6 = 12 to $f */ -$g = double(++$e); /* assign twice the value of $e <emphasis>after</emphasis> - the increment, 2*7 = 14 to $g */ -$h = $g += 10; /* first, $g is incremented by 10 and ends with the - value of 24. the value of the assignment (24) is - then assigned into $h, and $h ends with the value - of 24 as well. */ +$b = $a = 5; /* dodeli vrednost 5 v spremenljivke $a in $b */ +$c = $a++; /* po-povecanje - dodeli originalno vrednost $a + (5) v $c */ +$e = $d = ++$b; /* pred-povecanje, dodeli povecano vrednost spremenljivke + $b (6) v $d in $e */ + +/* v tej tocki, sta $d in $e enaka 6 */ + +$f = double($d++); /* dodeli dvakrat vecjo vrednost spremenljivke $d, + <emphasis>preden</emphasis> jo povecamo, 2*6 = 12 v $f */ +$g = double(++$e); /* dodeli dvakrat vecjo vrednost spremenljivke $e, + <emphasis>po</emphasis> povecanju, 2*7 = 14 v $g */ +$h = $g += 10; /* $g je prvo povecan za 10 s cimer dobi vrednost 24. + Vrednost je potem dodeljena spremelnjivki $h, + ki ima potem pravtako vrednost 24 */ ]]> </programlisting> </informalexample> </para> <simpara> - In the beginning of the chapter we said that we'll be describing - the various statement types, and as promised, expressions can be - statements. However, not every expression is a statement. In - this case, a statement has the form of 'expr' ';' that is, an - expression followed by a semicolon. In '$b=$a=5;', $a=5 is a - valid expression, but it's not a statement by itself. '$b=$a=5;' - however is a valid statement.</simpara> + V začetku tega poglavja smo zapisali, da bomo opisali različne + tipe stavkov in kot obljubljeno, izraz je lahko stavek. A vseeno, ni vsak + izraz stavek. V tem primeru ima stavek obliko 'izraz' ';', to je izraz + ki mu sledi podpičje. V '$b=$a=5;', $a=5 je veljaven izraz, + ampak ni stavek sam po sebi. '$b=$a=5;' pa je veljaven stavek.</simpara> <simpara> - One last thing worth mentioning is the truth value of expressions. - In many events, mainly in conditional execution and loops, you're - not interested in the specific value of the expression, but only - care about whether it means &true; or &false;. + Zadnja stvar, ki bi bila vredna omembe je resnična vrednost + izraza. V veliko primerih, večinoma v pogojnem izvajanju ali + zankah, vas ne zanima toliko sama vrednost izraza, ampak samo ali je + ta izraz &true; ali &false;. <!-- (PHP doesn't have a dedicated boolean type) : WRONG, php does. --> - The constants &true; and &false; (case-insensitive) are the two - possible boolean values. When necessary, an expression is - automatically converted to boolean. See the - <link linkend="language.types.typecasting">section about - type-casting</link> for details about how. + Konstante &true; in &false; (majhne ali velike črke) sta dve + najbolj verjetne boolean vrednosti. Ko je potrebno, se izraz + avtomatsko konvertira v boolean vrednost. Poglejte si + <link linkend="language.types.typecasting">section about + type-casting</link> za več informacij o tem. </simpara> <simpara> - PHP provides a full and powerful implementation of expressions, and - documenting it entirely goes beyond the scope of this manual. The - above examples should give you a good idea about what expressions - are and how you can construct useful expressions. Throughout the - rest of this manual we'll write <replaceable>expr</replaceable> - to indicate any valid PHP expression.</simpara> + PHP zagotavlja popolno implementacijo izrazov in če bi želeli + dokumentirati vse možnosti in načine uporabe, bi bilo to + preveč za ta priročnik. Zgornji primeri naj bi vam dali + idejo kaj izrazi so in kako sestaviti uporabne izraze. Skozi ta + priročnik bomo, ko bomo želeli poudariti veljaven PHP izraz, + zapisali to kot <replaceable>expr</replaceable>. </chapter>