cvs: phpdoc /hu/language operators.xml references.xml types.xml variables.xml

From: Date: Fri, 28 Dec 2001 00:38:16 +0000
Subject: cvs: phpdoc /hu/language operators.xml references.xml types.xml variables.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969340398@lists.php.net to get a copy of this message
pgerzson Thu Dec 27 19:38:16 2001 EDT Modified files: /phpdoc/hu/language operators.xml references.xml variables.xml types.xml Log: update to the recent EN revision

Index: phpdoc/hu/language/operators.xml diff -u phpdoc/hu/language/operators.xml:1.13 phpdoc/hu/language/operators.xml:1.14 --- phpdoc/hu/language/operators.xml:1.13 Sat Dec 15 09:49:54 2001 +++ phpdoc/hu/language/operators.xml Thu Dec 27 19:38:16 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.26 Maintainer: goba Status: ready --> +<!-- EN-Revision: 1.31 Maintainer: goba Status: ready --> <!-- CREDITS: kgergely --> <chapter id="language.operators"> @@ -77,8 +77,10 @@ érték. Vagyis a "$a = 3" értéke 3. Ez lehetõséget ad néhány trükkös dologra: <informalexample> - <programlisting> + <programlisting role="php"> +<![CDATA[ $a = ($b = 4) + 5; // $a most 9, és $b 4 +]]> </programlisting> </informalexample> </para> @@ -90,7 +92,7 @@ egy kifejezésben, majd rögtön be is állítsuk a változót a kifejezés értékére. Például: <informalexample> - <programlisting> + <programlisting role="php"> <![CDATA[ $a = 3; $a += 5; // $a-t 8-ra állítja, mintha $a = $a + 5;-öt írtunk volna @@ -112,7 +114,7 @@ de ez PHP 3-ban nem mûködik. A 'cím szerinti paraméterátadás' azt jelenti, hogy mindkét változó ugyanarra az adatra mutat, tehát semmi nem másolódik sehová [a változó címét - kivéve...] További információkat a referenciákról a <link + kivéve...] További információkat a referenciákról a <link linkend="language.references">Referenciák részletesen</link> címû fejezetben olvashatsz. </para> @@ -180,11 +182,11 @@ </table> </sect1> - + <sect1 id="language.operators.comparison"> <title>Összehasonlító operátorok</title> <simpara> - Az összehasonlító operátorok, mint nevük is sugallja, + Az összehasonlító operátorok, mint nevük is sugallja, két érték összehasonlítására szolgálnak. </simpara> @@ -250,13 +252,15 @@ <para> Van egy feltételes operátor is, a &quot;?:&quot; (ternális) - operátor, ami úgy muködik, mint a C-ben és sok más nyelvben. - + operátor, ami úgy muködik, mint a C-ben és sok más nyelvben. + <informalexample> <programlisting> +<![CDATA[ (kif1) ? (kif2) : (kif3); +]]> </programlisting> - </informalexample> + </informalexample> A kifejezés <replaceable>kif2</replaceable>-t értékeli ki, ha <replaceable>kif1</replaceable> igaznak bizonyul, és @@ -268,7 +272,7 @@ <sect1 id="language.operators.errorcontrol"> <title>Hibakezelõ operátorok</title> - + <simpara> A PHP egy hibakezelõ operátort támogat, az at (kukac) jelet (@). Ha egy PHP kifejezés elé írod, a kifejezés által esetlegesen @@ -294,7 +298,7 @@ die ("Nem lehet megnyitni, a hiba: '$php_errormsg'"); // bármilyen kifejezésre mûködik, nem csak függvényekre -$ertek = @$tomb[$kulcs]; +$ertek = @$tomb[$kulcs]; // nem ad notice szintû hibát, ha a $kulcs kulcs nem létezik ?> ]]> @@ -332,20 +336,20 @@ <sect1 id="language.operators.execution"> <title>Végrehajtó operátorok</title> - + <para> - A PHP-nek egy végrehajtó operátora van: [na nem kell semmi - rosszra gondolni, semmi köze az adóhatósághoz...]: - a visszaidézõjel [aki tudja az igazi nevét, ne rejtse - véka alá!] (``). Ezek nem szimpla idézõjelek! A + A PHP-nek egy végrehajtó operátora van: [na nem kell semmi + rosszra gondolni, semmi köze az adóhatósághoz...]: + a visszaidézõjel [aki tudja az igazi nevét, ne rejtse + véka alá!] (``). Ezek nem szimpla idézõjelek! A PHP megpróbálja a string tartalmát, mint egy shell command-ot - [kagyló parancsot :)] végrehajtani: a kimenet lesz az egész + [kagyló parancsot :)] végrehajtani: a kimenet lesz az egész értéke (nem kiírja a képernyõre, hanem hozzárendelhetõ egy változóhoz). </para> <para> - [Az alábbi kis példa az aktuális könyvtár tartalmát - (hosszú lista, rejtett fájlok is) formázva írja ki (illetve + [Az alábbi kis példa az aktuális könyvtár tartalmát + (hosszú lista, rejtett fájlok is) formázva írja ki (illetve fix szélességû betûket használva, újsor karaktereket tiszteletben tartva)] @@ -366,15 +370,17 @@ </note> <para> - Lásd még: <function>system</function>, - <function>passthru</function>, <function>exec</function>, - <function>popen</function>, és - <function>escapeshellcmd</function>. + Lásd még: <function>escapeshellcmd</function>, + <function>exec</function>, + <function>passthru</function>, + <function>popen</function>, + <function>shell_exec</function> és + <function>system</function>! </para> </sect1> - + <sect1 id="language.operators.increment"> <title>Növelõ/csökkentõ operátorok</title> @@ -536,8 +542,8 @@ ** <emphasis>lenne</emphasis> a hatványozás) helyesen 2 a kilencediken = 512 lenne.) Vannak nem köthetõ operátorok is, ilyenek az összehasonlító operátorok. Tehát - <emphasis>nem</emphasis> írható, hogy 2&lt;$x&lt;4.] - + <emphasis>nem</emphasis> írható, hogy 2&lt;$x&lt;4.] + </para> <para> Az alábbi táblázat az operátorokat precedenciájuk @@ -666,7 +672,7 @@ </sect1> </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml @@ -683,4 +689,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: + vim600: syn=xml fen fdm=syntax fdl=2 si + vim: et tw=78 syn=sgml + vi: ts=1 sw=1 --> Index: phpdoc/hu/language/references.xml diff -u phpdoc/hu/language/references.xml:1.10 phpdoc/hu/language/references.xml:1.11 --- phpdoc/hu/language/references.xml:1.10 Wed Dec 12 15:51:30 2001 +++ phpdoc/hu/language/references.xml Thu Dec 27 19:38:16 2001 @@ -1,12 +1,13 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.15 Maintainer: goba Status: ready --> +<!-- EN-Revision: 1.22 Maintainer: goba Status: ready --> +<!-- CREDITS: pgerzson --> <chapter id="language.references"> <title>Referenciák</title> <sect1 id="language.references.whatare"> <title>Mik a referenciák</title> - <simpara> + <simpara> A referenciák lehetõséget adnak PHP-ben azonos változó tartalom elérésére különbözõ nevek alatt. Ezek szimbólumtábla bejegyzések, nem olyanok, mint a C nyelv mutatói. PHP-ben @@ -60,13 +61,14 @@ </para> <note> <para> - Ha nem a fenti módszert alkalmazod, az - <literal>$obj = new valamilyen_osztaly()</literal> - kóddal kapott $obj nem ugyanaz az érték lesz, - mint a <literal>$this</literal> a konstruktorban. Tehát - ha a <literal>$this</literal> referenciát használód a - konstruktorban, referencia hozzárendelést kell alkalmaznod, - különben két különbözõ objektummal dolgozol. + Ha nem használod az <literal>&amp;</literal> -t, akkor + az osztálypéldány másoláta adódik át. A <literal>$this</literal> + objektumon belüli használatával ugyanazon az objektumpéldányon dolgozol. + Ha az értékadás során az <literal>&amp;</literal> -t elhagyod, akkor + az objektumról másolat készül és a <literal>$this</literal> már ezen a + másolaton fog dolgozni. Ez van, amikor nem kívánatos, mivel általában + egy példányon szeretnénk dolgozni a jobb memóriahasználat és teljesítmény + érdekében. </para> </note> <para> @@ -113,7 +115,7 @@ { $valtozo =& $GLOBALS["valami"]; } -ize($valami); +ize($valami); ]]> </programlisting> </informalexample> @@ -174,16 +176,18 @@ Egy függvény által visszaadott referencia, például: <informalexample> <programlisting role="php"> -function &amp;valami() +<![CDATA[ +function &valami() { $a = 5; return $a; } ize(valami()); +]]> </programlisting> </informalexample> Lásd még a <link linkend="language.references.return">cím - szerinti visszetérés</link> leírását. + szerinti visszetérés</link> leírását. </para> </listitem> </itemizedlist> @@ -215,7 +219,7 @@ <sect1 id="language.references.return"> <title>Cím szerinti visszatérés</title> <para> - A cím szerinti visszatérés akkor hasznos, ha meg kell találnod + A cím szerinti visszatérés akkor hasznos, ha meg kell találnod egy változót amire referenciát szeretnél készíteni. Ha referenciával szeretnél visszatérni, használd az alábbi formát: <informalexample> @@ -228,7 +232,7 @@ } $ize =& valtozo_kereses ($valami); -$ize->x = 2; +$ize->x = 2; ]]> </programlisting> </informalexample> @@ -240,7 +244,7 @@ </para> <note> <simpara> - A paraméter átadással ellentétben, itt a + A paraméter átadással ellentétben, itt a <literal>&amp;</literal> jelet mindkét helyen meg kell adnod, a cím szerinti visszatérés jelöléséhez. Így nem egy másolatot kapsz, és az <varname>$ize</varname> változóra @@ -260,7 +264,7 @@ <![CDATA[ $a = 1; $b =& $a; -unset ($a); +unset ($a); ]]> </programlisting> </informalexample> @@ -315,7 +319,7 @@ </sect1> </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml @@ -332,4 +336,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 --> Index: phpdoc/hu/language/variables.xml diff -u phpdoc/hu/language/variables.xml:1.16 phpdoc/hu/language/variables.xml:1.17 --- phpdoc/hu/language/variables.xml:1.16 Sat Dec 15 09:49:54 2001 +++ phpdoc/hu/language/variables.xml Thu Dec 27 19:38:16 2001 @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.19 Maintainer: goba Status: ready --> +<!-- EN-Revision: 1.26 Maintainer: goba Status: ready --> <!-- CREDITS: kgergely --> <chapter id="language.variables"> <title>Változók</title> - + <sect1 id="language.variables.basics"> <title>Alapok</title> @@ -20,7 +20,7 @@ Reguláris kifejezéssel kifejezve ez a következõt jelenti: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' </para> - + <note> <simpara> Ebben az esetben egy betû lehet angol betû karakter @@ -31,7 +31,7 @@ <para> <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ $var = "Géza"; $Var = "János"; @@ -52,7 +52,7 @@ egészének értéke másolódik a célváltozóba. Ez azt jelenti, hogy ha például egy változó értékét egy másikhoz rendeljük, egyikük megváltozása sincs hatással a másikra. Ha több infót szeretnél - az ilyen jellegû hozzárendelésekrõl, nézd meg a + az ilyen jellegû hozzárendelésekrõl, nézd meg a <link linkend="language.expressions">Kifejezések</link> címû részt. </para> @@ -116,7 +116,7 @@ <sect1 id="language.variables.predefined"> <title>Elõre definiált változók</title> - + <simpara> A PHP egy csomó elõre definiált változót biztosít az összes futó szkriptnek. Sok ilyen változót nem lehet rendesen dokumentálni, @@ -137,7 +137,7 @@ <note> <simpara> Ez a lista nem teljes, nem is ez a célja. Ez egyszerûen csak - egy útmutató, amiben benne van, hogy milyen típusú + egy útmutató, amiben benne van, hogy milyen típusú elõre definiált változókat érhetsz el. </simpara> </note> @@ -199,7 +199,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$REQUEST_METHOD</term> <listitem> @@ -209,7 +209,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$QUERY_STRING</term> <listitem> @@ -226,7 +226,7 @@ <simpara> A www dokumentumok fõkönyvtára, ami alatt a jelenlegi szkript fut. Ez a szerver konfigurációs fájljában - meghatározott érték. + meghatározott érték. </simpara> </listitem> </varlistentry> @@ -247,7 +247,7 @@ <listitem> <simpara> Az <literal>Accept-Charset:</literal> HTTP fejléc - tartalma, ha éppen van ilyen. pl. 'iso-8859-1,*,utf-8'. + tartalma, ha éppen van ilyen. pl. 'iso-8859-1,*,utf-8'. </simpara> </listitem> </varlistentry> @@ -261,7 +261,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_ACCEPT_LANGUAGE</term> <listitem> @@ -271,7 +271,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_CONNECTION</term> <listitem> @@ -299,7 +299,7 @@ Annak az oldalnak az URL címe, ahonnan ide került a látogató. Ezt a látogató böngészõje állítja be, de nem minden böngészõ teszi ezt - meg, és nem mindig. + meg, és nem mindig. </simpara> </listitem> </varlistentry> @@ -316,7 +316,7 @@ használhatod ezt az értéket a <function>get_browser</function> fügvénnyel arra, hogy az aktuális böngészõ képességeire szabd - az oldal megjelenését. + az oldal megjelenését. </simpara> </listitem> </varlistentry> @@ -360,7 +360,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$SERVER_PORT</term> <listitem> @@ -449,7 +449,7 @@ attól függõen kerülnek be, hogy a PHP szerver modulként fut, vagy CGI feldolgozóként. </simpara> - + </sect2> <sect2 id="language.variables.predefined.php"> @@ -485,7 +485,7 @@ beállítást, meg kell gyõzõdnöd arról, hogy a bejövõ adatok tényelegesen a megfelelõ forrásból érkeznek-e. </para> - + <para> <variablelist> <varlistentry> @@ -521,7 +521,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_COOKIE_VARS</term> <listitem> @@ -531,7 +531,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_GET_VARS</term> <listitem> @@ -541,7 +541,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_POST_VARS</term> <listitem> @@ -551,7 +551,7 @@ </simpara> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_POST_FILES</term> <listitem> @@ -568,7 +568,7 @@ </para> </listitem> </varlistentry> - + <varlistentry> <term>$HTTP_ENV_VARS</term> <listitem> @@ -590,7 +590,7 @@ </varlistentry> </variablelist> </para> - + </sect2> </sect1> @@ -626,16 +626,16 @@ belül használt változó csak azon a bizonyos függvényen belülre van korlátozva. Például: </simpara> - + <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ -$a = 1; /* globális hatáskör */ +$a = 1; /* globális hatáskör */ function Test () -{ - echo $a; /* egy helyi változót vár */ -} +{ + echo $a; /* egy helyi változót vár */ +} Test(); ]]> @@ -648,10 +648,10 @@ egy helyi változatára utal, és ehhez még nem került hozzárendelésre érték abban a hatáskörben. Bizony, bizony, ez egy &quot;kicsit&quot; különbözik a C nyelv filozófiájától, - ahol egy globális változó automatikusan elérhetõ + ahol egy globális változó automatikusan elérhetõ bármely függvénybõl, feltéve ha a függvényben újra nem definiáltad azt a változót. Ez bizony problémák - forrása lehet, ha az ember véletlenül megváltoztat egy + forrása lehet, ha az ember véletlenül megváltoztat egy globális változót. A PHP-ben a globális változókat global kulcsszóval deklarálni kell a függvényekben, ha szeretnénk õket a függvényben használni. Például: @@ -668,7 +668,7 @@ global $a, $b; $b = $a + $b; -} +} Ossszead(); echo $b; @@ -681,7 +681,7 @@ és <varname>$b</varname> global-ként való deklarálásával minden utalás ezekre a változókra a globális változót fogja érinteni. Nincs megkötés arra, hogy hány globális változó hatáskörét - lehet &quot;becsempészni&quot; + lehet &quot;becsempészni&quot; a függvénybe. </simpara> @@ -700,7 +700,7 @@ function Osszead() { $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; -} +} Osszead(); echo $b; @@ -716,7 +716,7 @@ <simpara> Egy másik fontos tulajdonsága a változók hatáskörének a <emphasis>static</emphasis> (statikus) változó. Egy statikus - változó csak lokális hatáskörben él - egy függvényen + változó csak lokális hatáskörben él - egy függvényen belül, de két függvényhívás közt nem felejti el az értékét (pontosabban megfogalmazva a változó hatáskörébõl való kilépés esetén is megmarad az értéke). Figyeld csak: @@ -770,10 +770,10 @@ rekurzív függvényekkel bánjunk. Rekurzív az a függvény, amely saját magát meghívja [persze jobb esetben illik feltételhez kötni, különben a - szótárban nem úgy fog szerepelni, hogy Rekurzió: + szótárban nem úgy fog szerepelni, hogy Rekurzió: ld. rekurzió, hanem úgy, hogy Rekurzió = Stack overflow]. Szóval csak óvatosan azokkal a rekurzív - függvényekkel, nehogy végtelen rekurzióba kerüljünk. Ezért + függvényekkel, nehogy végtelen rekurzióba kerüljünk. Ezért kell a feltétel, mert az fogja leállítani a rekurziót. A következõ függvény rekurzívan elszámol 10-ig a statikus <varname>$count</varname> változó segítségével. @@ -852,7 +852,7 @@ </simpara> <informalexample> - <programlisting> + <programlisting role="php"> <![CDATA[ echo "$a $hello"; ]]> @@ -873,7 +873,7 @@ használni. Ezért az elsõ szintaxisa: <varname>${$a[1]}</varname> és a másodiké: <varname>${$a}[1]</varname>. </simpara> - + </sect1> <sect1 id="language.variables.external"> @@ -886,7 +886,7 @@ Amikor egy formot elküldünk egy PHP sciptnek, a form összes változója a PHP segítségével automatikusan elérhetõvé válik a szkript számára. Ha a <link linkend="ini.track-vars">track_vars</link> - szolgáltatás be van kapcsolva, ezek a változók a + szolgáltatás be van kapcsolva, ezek a változók a <varname>$HTTP_POST_VARS</varname>, <varname>$HTTP_GET_VARS</varname>, és/vagy <varname>$HTTP_POST_FILES</varname>, asszociatív tömbökben @@ -920,9 +920,20 @@ beállítás aktív, ez a változó elérhetõ lesz <varname>$username</varname> globális változóként is. </para> + <note> + <para> + A <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> + konfigurációs beállítás hatással van a Get, Post és Cookie értékeire. Ha + be van kapcsolva, akkor a (Ez a "PHP", biz'a!) automágikusan :) + (Ez a \"PHP\", biz\'a!) lesz, hogy megkönnyítse az adatbázisba írást. + Lásd még: <function>addslashes</function>, <function>stripslashes</function> és + <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>! + </para> + </note> <simpara> A PHP a csoportosított form változókból tömböket származtat. + (Lásd <link linkend="faq.html">related faq</link>!) Például hasznos lehet csoportosítani az összetartozó változókat, vagy az olyan form elemeket, ahol több lehetõség közül nem csak egy választható. @@ -990,7 +1001,7 @@ url="&spec.cookies;">Netscape specifikációja</ulink> által definiált HTTP cookie-kat. A cookie egy mechanizmus, ami távoli böngészõn tesz lehetõvé adattárolást, és így lehetõvé teszi a - visszatérõ felhasználók azonosítását. Cookie-kat a + visszatérõ felhasználók azonosítását. Cookie-kat a <function>setcookie</function> függvénnyel lehet beállítani. A cookie-k a HTTP fejléc részei, így a SetCookie függvényt bármilyen kimenet generálása elõtt kell meghívni. Ugyanezt @@ -1038,7 +1049,7 @@ <para> A PHP automatikusan létrehozza az elérhetõ környezeti változókat, mint mezei PHP változókat. - + <informalexample> <programlisting role="php"> <![CDATA[ @@ -1064,7 +1075,7 @@ <para> Általában a PHP nem változtatja meg a változók neveit, amikor a szkript megkapja õket. A pont viszont nem érvényes karakter - egy PHP változóneven belül. Az ok megértéséért nézd csak: + egy PHP változóneven belül. Az ok megértéséért nézd csak: <programlisting role="php"> <![CDATA[ $varname.ext; /* érvénytelen változónév */ @@ -1101,9 +1112,9 @@ </sect2> </sect1> - + </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml @@ -1120,4 +1131,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: + vim600: syn=xml fen fdm=syntax fdl=2 si + vim: et tw=78 syn=sgml + vi: ts=1 sw=1 --> Index: phpdoc/hu/language/types.xml diff -u phpdoc/hu/language/types.xml:1.16 phpdoc/hu/language/types.xml:1.17 --- phpdoc/hu/language/types.xml:1.16 Wed Dec 12 15:51:30 2001 +++ phpdoc/hu/language/types.xml Thu Dec 27 19:38:16 2001 @@ -1,16 +1,17 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.48 Maintainer: goba Status: ready --> +<!-- EN-Revision: 1.69 Maintainer: goba Status: ready --> +<!-- CREDITS: pgerzson --> <chapter id="language.types"> <title>Típusok</title> <sect1 id="language.types.intro"> <title>Bevezetõ</title> - + <simpara> A PHP nyolc primitív típust támogat. </simpara> - + <para> A négy skalár típus: @@ -74,17 +75,17 @@ <listitem> <simpara> - <link linkend="language.types.null">&null;</link> + <link linkend="language.types.null">NULL</link> </simpara> </listitem> </itemizedlist> </para> - + <note> <simpara> Ebben a kézikönyvben gyakran találkozhatsz - <literal>mixed</literal> paraméterekkel is. + <literal>mixed</literal> paraméterekkel is. Ez a kvázi-típus csak a dokumentációkban létezik, annak jelölésére szolgál, hogy többféle lehetõség adott arra a paraméterre. @@ -93,11 +94,27 @@ <simpara> A változó típusát rendszerint nem a programozó adja meg - [na azért van beleszólása...], hanem a PHP futási idõben + [persze van beleszólása...], hanem a PHP futási idõben határozza meg a változó környezetétõl függõen. </simpara> + <tip> + <simpara> + Ha egy <link linkend="language.expressions">kifejezés</link> értékére + és/vagy típusára vagy kiváncsi, akkor használd a + <function>var_dump</function> függvényt. + </simpara> + <simpara> + Ha csak a típusát akarod megkapni emberek számára olvasható formában, akkor + használd a <function>gettype</function>-ot. Típusellenõrzésre viszont + <emphasis>ne</emphasis> ezt, hanem a + <literal>is_<replaceable>type</replaceable></literal> függvényeket használd + a programokban. + </simpara> + <!-- TODO: example(s) would be great --> + </tip> + <simpara> - Ha egy változó típusát egy adott típusra kell konvertálnunk, + Ha egy változó típusát egy adott típusra kell konvertálnunk, <link linkend="language.types.typecasting">cast</link>olhatjuk a változót, vagy alkalmazzuk rá a <function>settype</function> függvényt. @@ -105,20 +122,20 @@ <simpara> A változó különbözõképp viselkedhet bizonyos helyzetekben, attól függõen, hogy az adott pillanatban milyen típusú. - Ha bõvebb leírást szeretnél, nézd meg a + Ha bõvebb leírást szeretnél, nézd meg a <link linkend="language.types.type-juggling">Bûvészkedés a típusokkal</link> címû részt. </simpara> </sect1> - + <sect1 id="language.types.boolean"> <title>Logikai adattípus</title> - + <simpara> Ez a legegyszerûbb típus. Egy <type>boolean</type> igazságértéket fejez ki. Lehet vagy &true; (igaz), - vagy &false; (hamis). + vagy &false; (hamis). </simpara> <note> <simpara> @@ -129,12 +146,14 @@ <sect2 id="language.types.boolean.syntax"> <title>Szintaxis</title> <para> - Egy logikai érték megadásához használhatod a &true; + Egy logikai érték megadásához használhatod a &true; vagy &false; szavakat, szükség szerint. Egyik jelentése sem függ a kis- és nagybetûs írásmódtól. <informalexample> <programlisting role="php"> +<![CDATA[ $igaz = True; // a logikai igaz értéket adjuk az $igaz változónak +]]> </programlisting> </informalexample> </para> @@ -146,19 +165,21 @@ szerkezetben</link> fel tudsz használni. <informalexample> <programlisting role="php"> +<![CDATA[ if ($akcio == "verzio_kiirasa") { // a == <link linkend="language.operators">operátor</link> <type>boolean</type> értékkel tér vissza echo "Ez az 1.23-as változat"; } // ez nem szükséges if ($elvalaszto_kiirasa == true) { - echo "&lt;hr&gt;\n"; + echo "<hr>\n"; } // mivel egyszerûen ez is mûködik if ($elvalaszto_kiirasa) { - echo "&lt;hr&gt;\n"; + echo "<hr>\n"; } +]]> </programlisting> </informalexample> </para> @@ -179,14 +200,14 @@ Lásd még a <link linkend="language.types.type-juggling">Bûvészkedés a típusokkal</link> címû részt. </simpara> - + <para> Amikor <type>boolean</type> típusúvá kell alakítani egy értéket, az alábbiak &false; értéket adnak: - + <itemizedlist> <listitem> - <simpara>a <link linkend="language.types.boolean">boolean</link> + <simpara>a <link linkend="language.types.boolean">boolean</link> típusú &false; </simpara> </listitem> <listitem> @@ -194,7 +215,7 @@ >típusú 0 (nulla) </simpara> </listitem> <listitem> - <simpara>a <link linkend="language.types.float">float (lebegõpontos)</link> + <simpara>a <link linkend="language.types.float">float (lebegõpontos)</link> 0.0 (nulla) </simpara> </listitem> <listitem> @@ -212,11 +233,11 @@ </listitem> <listitem> <simpara>a speciális <link linkend="language.types.null" - >&null;</link> érték + >NULL</link> érték (beleétve a nem beállított - hivatkozást megelõzõen nem definiált - változókat) </simpara> </listitem> </itemizedlist> - + Minden más érték &true; lesz (beleértve bármilyen <link linkend="language.types.resource">resource (eõforrás)</link> típusú értéket). @@ -233,17 +254,17 @@ <sect1 id="language.types.integer"> <title>Egész számok</title> - + <simpara> Egy <type>integer</type> a következõ halmaz része: Z = {..., -2, -1, 0, 1, 2, ...}. </simpara> - + <para> Lásd még a <link linkend="ref.gmp">Tetszõleges pontosságú egészek</link> és a <link linkend="language.types.float">Lebegõpontos számok</link> - címû részeket. + címû részeket. </para> <sect2 id="language.types.integer.syntax"> @@ -259,31 +280,30 @@ <example> <title>Egész értékek</title> <programlisting role="php"> +<![CDATA[ $a = 1234; # decimális szám $a = -123; # negatív szám $a = 0123; # oktális szám (megegyezik a 83 decimális számmal) $a = 0x1A; # hexadecimális szám (megegyezik a 26 decimális számmal) +]]> </programlisting> </example> Az egészek maximális mérete operációs rendszertõl függ, az átlagos érték a két milliárd (32 bites elõjeles egész). </para> - <note> - <simpara> - PHP-ben nincs egész osztás. Az <literal>1/2</literal> - mûvelet a <literal>0.5</literal> <type>float (lebegépontos)</type> - értéket eredményezi. - </simpara> - </note> </sect2> - + <sect2 id="language.types.integer.overflow"> <title>Egészek értelmezési határának túllépése</title> <para> Az <type>integer</type> típus értelmezési tartományán kívül - esõ egész értékek <type>float</type> típussá alakulnak. + esõ egész értékek <type>float</type> típussá alakulnak. Ha valamely + mûvelet eredménye kívül esik a <type>integer</type> értelmezési + tartományán, akkor az eredmény automatikusan <type>float</type> típusúvá + konvertálódik. <informalexample> <programlisting role="php"> +<![CDATA[ $nagy_szam = 2147483647; var_dump($nagy_szam); // kimenete: int(2147483647) @@ -291,36 +311,44 @@ var_dump($nagyobb_szam); // kimenete: float(2147483648) -// ez mûködik hexadecimálisan megadott egészekre is: -var_dump( 0x80000000 ); -// kimenete: float(2147483648) +// ez mûködik hexadecimálisan megadott egészekre is: +var_dump( 0x80000000 ); +// kimenete: float(2147483648) - </programlisting> - </informalexample> - Ráadásul ha valamilyen függvény, vagy operátor az - <type>integer</type> típus értelmezési tartományán kívül - esõ értéket ad, a <type>float</type> típussá alakítás - automatikusan megtörténik. - <informalexample> - <programlisting role="php"> $millio = 1000000; $nagy_szam = 50000 * $millio; var_dump($nagy_szam); // kimenete: float(50000000000) +]]> </programlisting> </informalexample> <warning> <simpara> - Sajnálatosan meg kell említenünk, hogy egy hiba van - a PHP-ben (még a 4.0.6-osban is, de feltehetõen a 4.0.7-es - már javítja a hibát). Ez az átalakítás nem mûködik mindig - pontosan, ha negatív számokkal is számolunk. Például: ha a - <literal>-50000 * $millio</literal> értéket kérjük, - a válasz: <literal>-429496728</literal>. Ha mindkét - operandus pozitív, nincs semmi probléma. + Sajnálatosan meg kell említenünk, hogy a PHP 4.0.6-ban ez az átalakítás + nem mûködött mindig pontosan negatív számok használatakor, például: ha a + <literal>-50000 * $millio</literal> mûveletet eredménye: + <literal>-429496728</literal>. Ha mindkét operandus pozitív, nincs semmi + probléma. + </simpara> + <simpara> + Ezt a hiba ki lett javítva a PHP 4.1.0-ben. </simpara> </warning> </para> + <para> + PHP-ben nincs egész osztás. Az <literal>1/2</literal> + mûvelet a <literal>0.5</literal> <type>float (lebegépontos)</type> + értéket eredményezi. + <!-- See ??? for more information. (with the operators, or with type-jug) --> + <informalexample> + <programlisting role="php"> +<![CDATA[ +var_dump( 25/7 ); +// output: float(3.5714285714286) +]]> + </programlisting> + </informalexample> + </para> </sect2> <sect2 id="language.types.integer.casting"> @@ -338,7 +366,7 @@ Lásd még a <link linkend="language.types.type-juggling">Bûvészkedés a típusokkal</link> címû részt. </simpara> - + <sect3 id="language.types.integer.casting.from-boolean"> <title>Átalakítás<link linkend="language.types.boolean" >boolean (logikai)</link> értékekrõl</title> @@ -357,40 +385,42 @@ a szám tört része elvész, azaz <emphasis>lefelé kerekítés</emphasis> történik. </simpara> - + <para> Ha a lebegõpontos szám az egész tartományon kívül esik - (általában <literal>+/- 2.15e+9 = 2^31</literal>), + (általában <literal>+/- 2.15e+9 = 2^31</literal>), az eredmény nem definiált, mivel a lebegõpontos szám nem rendelkezik elég precizitással, hogy pontos egész eredményt kapj. Sem warning, sem notice szintû hiba nem lép fel ebben az esetben! </para> - + <warning><para> - Soha ne alakíts egy ismeretlen törtszámot + Soha ne alakíts egy ismeretlen törtszámot <type>integer</type> típusúvá, mivel ez idõnként nem várt eredményekhez vezethet. <informalexample> <programlisting role="php"> +<![CDATA[ echo (int) ( (0.1+0.7) * 10 ); // kiírja, hogy 7! +]]> </programlisting> </informalexample> - - Lásd a <link + + Lásd a <link linkend="warn.float-precision">a lebegõpontos számok pontotsságának problémái</link> címû részt. </para></warning> </sect3> - + <sect3 id="language.types.integer.casting.from-string"> <title>Átalakítás karakterláncokról</title> <simpara> - Lásd a <link linkend="language.types.string.conversion">String + Lásd a <link linkend="language.types.string.conversion">String átalakítás</link> címû részt. </simpara> </sect3> - + <sect3 id="language.types.integer.casting.from-other"> <title>Átalakítás más típusokról</title> <para> @@ -447,7 +477,7 @@ utolsó jegyig, és soha se hasoníts össze két lebegõpontos számot pontos egyenlõségre. Ha nagyobb pontosságú számokra van szükséges, használd a <link linkend="ref.bc">tetszõleges - pontosságú matematikai függvényeket</link> vagy a + pontosságú matematikai függvényeket</link> vagy a <link linkend="ref.gmp">gmp</link> függvényeket. </para> </warning> @@ -465,7 +495,7 @@ <simpara> Nem okozhat problémát a stringek körében, hogy túl hosszúvá válnak. Semmiféle korlát nem létezik - a PHP által kezelt stringek méretére, ezért nem + a PHP által kezelt stringek méretére, ezért nem kell tartani a hosszú stringektõl. </simpara> </note> @@ -496,7 +526,7 @@ <para> A legkönnyebben úgy adhatunk meg egy egyszerû stringet, hogy aposztrófok (<literal>'</literal> karakterek) közé - tesszük. + tesszük. </para> <para> Ha a stringben egy aposztófot szeretnél elhelyezni, és @@ -524,6 +554,7 @@ </note> <informalexample> <programlisting role="php"> +<![CDATA[ echo 'Egyszerû string'; echo 'A stringekbe újsor karaktereket is építhetsz, ilyen formában.'; @@ -535,6 +566,7 @@ // kimenete: ... delete C:\*.*? echo 'Ezen a ponton próbálok beépíteni \n egy újsort'; // kimenet: ... beépíteni \n egy újsort +]]> </programlisting> </informalexample> </para> @@ -603,12 +635,12 @@ </para> <para> A legfontosabb elõnye az idézõjeles stringeknek az, - hogy a változók behelyettesítésre kerülnek. + hogy a változók behelyettesítésre kerülnek. Lásd a <link linkend="language.types.string.parsing">változók behelyettesítése</link> címû részt további részletekért. </para> </sect3> - + <sect3 id="language.types.string.syntax.heredoc"> <title>String létrehozása heredoc szintaxissal</title> <simpara> @@ -618,7 +650,7 @@ jelzés után egy azonosítót kell megadni, majd a stringet, és végül az azonosítót mégegyszer, ezzel zárva le a stringet. - </simpara> + </simpara> <simpara> A lezáró azonosítónak <emphasis>mindenképpen</emphasis> a sor legelsõ karakterén kell kezdõdnie. Ugyancsak figyelni @@ -627,7 +659,7 @@ karaktereket és aláhúzást tartalmazhat, és nem kezdõdhet számjegy karakterrel. </simpara> - + <warning> <simpara> Nagyon fontos, hogy odafigyelj arra, hogy a lezáró @@ -644,7 +676,7 @@ hogy még egy kocsivissza (<literal>\r</literal>) karakter sem lehet a sor végén, csak egy újsor (<literal>\n</literal>) szerepelhet. - Mivel a Microsoft Windows a + Mivel a Microsoft Windows a <literal>\r\n</literal> sorozatot használja a sorok végének jelzésére, a heredoc nem fog mûködni, ha olyan szerkesztõben készíted @@ -662,10 +694,10 @@ A változók értékei behelyettesítõdnek, de az idézõjeles karaktersorozatokhoz hasonlóan gondosan kell ügyelni a komplex változó hivatkozások megadására. - <example> + <example> <title>&quot;Heredoc&quot; string példa [VAS: Vége A Stringnek de helyette lehet bármi]</title> - <programlisting> + <programlisting role="php"> <![CDATA[ <?php $str = <<<VAS @@ -690,7 +722,7 @@ $ize = new ize(); $nev = 'Béla'; -echo &lt;&lt;&lt;VAS +echo <<<VAS A nevem "$nev". Kiírok egy értéket: $ize->ize. Most kiírok egy tömbelemet: {$ize->valami[1]}. Ez nagy 'A' kell, hogy legyen: \x41 @@ -700,13 +732,13 @@ </programlisting> </example> </para> - + <note> <para> A heredoc a PHP 4-esben került a nyelvbe. </para> </note> - + </sect3> <sect3 id="language.types.string.parsing"> <title>Változók behelyettesítése</title> @@ -718,7 +750,7 @@ <simpara> Kétféleképpen lehet megadni egy változót, az <link linkend="language.types.string.parsing.simple">egyszerû</link> - és a + és a <link linkend="language.types.string.parsing.complex">komplex</link> formátummal. Az egyszerû forma a leggyakoribb és legkényelmesebb. Lehetõséget @@ -728,7 +760,7 @@ <simpara> A komplex szintaxis a PHP 4-es változatában került a nyelvbe, és a jelölésben használatos kapcsos - zárójelekrõl ismerhetõ fel. + zárójelekrõl ismerhetõ fel. </simpara> <sect4 id="language.types.string.parsing.simple"> <title>Egyszerû szintaxis</title> @@ -742,10 +774,12 @@ </simpara> <informalexample> <programlisting role="php"> +<![CDATA[ $ingatlan = 'ház'; echo "kertes $ingatlan kerítéssel"; // mûködik, szóköz nem lehet változónévben echo "páros $ingatlanszám"; // nem mûködik, az 's' és további karakterek lehetnek változónévben echo "páros ${ingatlan}szám"; // mûködik, mert pontosan meg van adva a név +]]> </programlisting> </informalexample> <simpara> @@ -759,13 +793,15 @@ </simpara> <informalexample> <programlisting role="php"> -$gyumolcsok = array( 'eper' =&gt; 'piros' , 'alma' =&gt; 'zöld' ); +<![CDATA[ +$gyumolcsok = array( 'eper' => 'piros' , 'alma' => 'zöld' ); echo "Az alma $gyumolcsok[alma]."; // ez másképpen használandó karaktersorozatokon kívül. Lásd az <link linkend="language.types.array.foo-bar"><literal>$ize[valami]</literal> karakterláncon kívüli problémáját</link> -echo "A négyzet $negyzet-&gt;szelesseg méter széles."; -echo "A négyzet $negyzet-&gt;szelesseg00 centiméter széles."; // nem mûködik +echo "A négyzet $negyzet->szelesseg méter széles."; +echo "A négyzet $negyzet->szelesseg00 centiméter széles."; // nem mûködik // a megoldás érdekében lásd a <link linkend="language.types.string.parsing.complex">komplex szintaxist</link>. +]]> </programlisting> </informalexample> <simpara> @@ -785,7 +821,7 @@ ezzel a szintaxissal. Egyszerûen úgy kell megadni az értéket adó kifejezést, mintha a stringen kívül dolgoznál vele, és utána { és } jelek közé kell zárni. - Mivel a '{' jel megadására nincs speciális jelölés, + Mivel a '{' jel megadására nincs speciális jelölés, ez a forma csak akkor fog mûködni, ha a { után közvetlenül egy $ jel található. (Használhatod a "{\$" vagy "\{$" jelöléseket, ha a stringben a "{$" sorozatot szeretnéd @@ -794,33 +830,35 @@ </simpara> <informalexample> <programlisting role="php"> +<![CDATA[ $oriasi = 'fantasztikus'; echo "Ez { $oriasi}"; // nem mûködik, kiírja, hogy : Ez { fantasztikus} echo "Ez {$oriasi}"; // mûködik, kiírja, hogy: Ez fantasztikus -echo "Ez a négyzet {$negyzet-&gt;szelesseg}00 centiméter széles."; +echo "Ez a négyzet {$negyzet->szelesseg}00 centiméter széles."; echo "Mûködik: {$tomb[4][3]}"; echo "Hibás: {$tomb[ize][3]}"; // ennek ugyanaz az oka, ami miatt // a <link linkend="language.types.array.foo-bar">$ize[valami]</link > hibás egy stringen kívül echo "Ebben a formában már helyes: {$tomb['ize'][3]}"; -echo "Akár ezt is írhatod: {$obj-&gt;ertekek[3]-&gt;nev}"; +echo "Akár ezt is írhatod: {$obj->ertekek[3]-&gt;nev}"; echo "Ez a $nev nevû változó értéke: {${$nev}}"; +]]> </programlisting> </informalexample> </sect4> </sect3> - + <sect3 id="language.types.string.substr"> <title>String karaktereinek elérése</title> <para> A string karaktereire nullától számozott indexekkel lehet hivatkozni, a string neve után megadott kapcsos - zárójelek között. + zárójelek között. </para> <note> <simpara> Kompatibilitási okokból a tömböknél használatos szögletes - zárójelek is alkalmazhatóak a karakterek eléréséhez. + zárójelek is alkalmazhatóak a karakterek eléréséhez. Ez a tömb jelzés azonban nem javasolt a PHP 4-esben. </simpara> </note> @@ -860,7 +898,7 @@ </example> </para> </sect3> - + </sect2> <sect2 id="language.types.string.useful-funcs"> @@ -875,10 +913,10 @@ Számos hasznos függvény létezik stringek manipulálásához. </para> <simpara> - Lásd a <link linkend="ref.strings">string függvények</link> + Lásd a <link linkend="ref.strings">string függvények</link> címû részt általános függvényekért, a reguláris kifejezés - függvényeket fejlett kereséshez és cserékhez (két formában: - <link linkend="ref.pcre">Perl</link> és + függvényeket fejlett kereséshez és cserékhez (két formában: + <link linkend="ref.pcre">Perl</link> és <link linkend="ref.regex">POSIX kiterjesztett</link>). </simpara> <simpara> @@ -981,24 +1019,24 @@ <para> Az említett struktúrák leírása ezen kézikönyv kereteibe nem fér - bele, de legalább egy példát mutatunk mindegyikre. + bele, de legalább egy példát mutatunk mindegyikre. További információkért külsõ forrásokat kell igénybe venned errõl az igen széles témáról. </para> - + <sect2 id="language.types.array.syntax"> <title>Szintaxis</title> - + <sect3 id="language.types.array.syntax.array-func"> <title>Tömb létrehozása az <function>array</function> nyelvi elemmel</title> <para> - Egy <type>array</type> (tömb) típusú változót az <function>array</function> + Egy <type>array</type> (tömb) típusú változót az <function>array</function> nyelvi elemmel tudsz létrehozni, amely számos vesszõvel elválasztott <literal><replaceable>kulcs</replaceable> =&gt; <replaceable - >érték</replaceable></literal> párt vár. + >érték</replaceable></literal> párt vár. </para> <para> - Egy <varname>kulcs</varname> vagy egy nemnegatív <type>integer</type> + Egy <varname>kulcs</varname> vagy egy nemnegatív <type>integer</type> (egész szám) vagy egy <type>string</type>. Ha a kulcs egy szabványos formában megadott nemnegatív egész szám (<type>integer</type>), az megfelelõ módon kerül értelmezésre. @@ -1014,12 +1052,12 @@ <para> Ha nem adsz meg egy kulcsot, a PHP veszi az egész indexek közül a legnagyobbat, és ennél egyel nagyobb indexû elemet - hoz létre. Ha még nincs egész értékkel megadott index, + hoz létre. Ha még nincs egész értékkel megadott index, az új kulcs <literal>0</literal> (nulla) lesz. Ha olyan kulcsot adsz meg, ami már a tömb eleme, a korábbi elem felülíródik. </para> </formalpara> - + <para> <synopsis> array( <optional> <replaceable>kulcs</replaceable> =&gt; </optional> <replaceable @@ -1032,7 +1070,7 @@ </synopsis> </para> </sect3> - + <sect3 id="language.types.array.syntax.modifying"> <title>Létrehozás/módosítás a szögletes zárójeles formával</title> <para> @@ -1055,27 +1093,46 @@ Tehát ez egy újabb alternatíva tömbök létrehozására. Ha módosítani szeretnél egy elemet, rendelj hozzá új értéket. Ha meg szeretnél szüntetni egy kulcs/érték - párt, használd az <function>unset</function> függvényt. + párt, használd az <function>unset</function> függvényt. </para> </sect3> </sect2> - + <sect2 id="language.types.array.useful-funcs"> <title>Hasznos függvények</title> <para> Jónéhámy függvény létezik a tömbökkel való munka megkönnyítésére. Lásd a - <link linkend="ref.array">tömb függvények</link> + <link linkend="ref.array">tömb függvények</link> címû részt. </para> + <note> + <para> + Az <function>unset</function> függvénnyel lehet egy értéket a tömbbõl + törölni. Figyelj arra, hogy a tömb nem lesz újraindexelve! + <informalexample> + <programlisting role="php"> + <![CDATA[ + $a = array( 1 => 'egy', 2 => 'kettõ', 3 => 'három' ); + unset( $a[2] ); + /* ennek eredményeképpen $a így fog kinézni: + $a = array( 1=>'egy', 3=>'három'); + és NEM így: + $a = array( 1 => 'egy', 2 => 'három'); + */ + ]]> + </programlisting> + </informalexample> + </para> + </note> <para> - A <link linkend="control-structures.foreach">foreach</link> + A <link linkend="control-structures.foreach">foreach</link> vezérlési szerkezet kifejezetten a tömbök számára jött létre. Egy egyszerû módszert ad tömbökön való végiglépkedésre. </para> </sect2> - + <sect2 id="language.types.array.donts"> <title>Mit tehetünk, és mit nem a tömbökkel</title> @@ -1085,9 +1142,11 @@ Talán láttad ezt a szintaxist régi PHP programokban: <informalexample> <programlisting role="php"> + <![CDATA[ $ize[valami] = 'ellenség'; echo $ize[valami]; // stb. +]]> </programlisting> </informalexample> Ez hibás, és mégis mûködik. Akkor mégis miért nem jó? Az ok az, @@ -1099,19 +1158,23 @@ Ez azt jelenti, hogy írhatsz ehhez hasonló dolgokat is: <informalexample> <programlisting role="php"> -echo $tomb[ ize(true) ]; +<![CDATA[ +echo $tomb[ ize(true) ]; +]]> </programlisting> </informalexample> Ez a példa bemutatja, hogyan használhatsz függvény visszatérési értéket tömbindexként. A PHP úgyszintén ismeri a konstansokat. Bizonyára hallottál már - az <literal>E_*</literal> konstansokról. + az <literal>E_*</literal> konstansokról. <informalexample> <programlisting role="php"> +<![CDATA[ $hiba_leiras[E_ERROR] = "Fatális hiba történt"; $hiba_leiras[E_WARNING] = "A PHP figyelmeztetést adott"; $hiba_leiras[E_NOTICE] = "Informális megjegyzés"; +]]> </programlisting> </informalexample> Figyeld meg, hogy az <literal>E_ERROR</literal> egy @@ -1120,9 +1183,11 @@ mintha ezt írnánk: <informalexample> <programlisting role="php"> +<![CDATA[ $hiba_leiras[1] = "Fatális hiba történt"; $hiba_leiras[2] = "A PHP figyelmeztetést adott"; $hiba_leiras[8] = "Informális megjegyzés"; +]]> </programlisting> </informalexample> mivel az <literal>E_ERROR</literal> konstans értéke @@ -1156,8 +1221,8 @@ >error_reporting</link> beállítást <literal>E_ALL</literal> értékre állítod be, látni fogod, hogy a PHP figyelmeztetéseket generál, ha ezt a kunstrukciót használod. Ez ugyanígy érvényes - minden más nem javasolt 'szolgáltatásra'. - (Add az <literal>error_reporting(E_ALL);</literal> + minden más nem javasolt 'szolgáltatásra'. + (Add az <literal>error_reporting(E_ALL);</literal> sort a programod elejéhez). </simpara> </tip> @@ -1207,7 +1272,7 @@ </programlisting> </informalexample> </para> - + <example> <title>Az array() használata</title> <programlisting role="php"> @@ -1218,7 +1283,7 @@ , 'nyelv' => 'angol' , 'short_tags' => true ); - + // szigorúan számokat tartalmazó tömb $tomb = array( 7 , 8 @@ -1237,7 +1302,7 @@ , '02' => 77 // kulcsa '02' , 0 => 12 // a 10 értéket felülírjuk 12-vel ); - + // üres tömb $ures = array(); ]]> @@ -1247,6 +1312,7 @@ <example id="language.types.array.examples.loop"> <title>Kollekció</title> <programlisting role="php"> +<![CDATA[ $szinek = array('piros','kék','zöld','sárga'); foreach ( $szinek as $szin ) { @@ -1259,21 +1325,23 @@ Szereted a(z) zöld színt? Szereted a(z) sárga színt? */ +]]> </programlisting> </example> - + <para> Figyelj arra, hogy jelenleg közvetlenül nem lehet módosítani a tömb elemeinek értékét ezzel a ciklussal. - A problémát a következõképpen tudod megkerülni: + A problémát a következõképpen tudod megkerülni: <example id="language.types.array.examples.changeloop"> <title>Kollekció</title> <programlisting role="php"> +<![CDATA[ <link linkend="control-structures.foreach">foreach</link> ( $szinek as $kulcs => $szin ) { // nem mûködik (nem módosítja a tömböt): //$szin = <link linkend="function.strtoupper">strtoupper</link>($szin); - + // mûködik (módosítja a tömböt): $szinek[$kulcs] = <link linkend="function.strtoupper">strtoupper</link>($szin); } @@ -1288,6 +1356,7 @@ [3] => SÁRGA ) */ +]]> </programlisting> </example> </para> @@ -1296,29 +1365,33 @@ <example> <title>Egytõl kezdõdõ index</title> <programlisting role="php"> +<![CDATA[ $elsonegyed = array(1 => 'Január', 'Február', 'Március'); <link linkend="function.print-r">print_r</link>($elsonegyed); /* kimenete: -Array +Array ( [1] => 'Január' [2] => 'Február' [3] => 'Március' ) -*/ +*/ +]]> </programlisting> </example> </para> <example> <title>Felöltés valós adatokkal</title> <programlisting role="php"> +<![CDATA[ // egy tömb felöltése a <link linkend="ref.dir">könyvtárban</link> található filenevekkel $konyvtar = <link linkend="function.opendir">opendir</link>('.'); while ($filenev = <link linkend="function.readdir">readdir</link>($konyvtar)) { $filenevek[] = $filenev; } -<link linkend="function.closedir">closedir</link>($konyvtar); +<link linkend="function.closedir">closedir</link>($konyvtar); +]]> </programlisting> </example> <para> @@ -1341,27 +1414,29 @@ <example> <title>Rekurzív és többdimenziós tömbök</title> <programlisting role="php"> -$gyumolcsok = array ( "gyümölcsök" =&gt; array ( "a" =&gt; "narancs" - , "b" =&gt; "banán" - , "c" =&gt; "alma" +<![CDATA[ +$gyumolcsok = array ( "gyümölcsök" => array ( "a" => "narancs" + , "b" => "banán" + , "c" => "alma" ) - , "számok" =&gt; array ( 1 + , "számok" => array ( 1 , 2 , 3 , 4 , 5 , 6 ) - , "lyukak" =&gt; array ( "elsõ" - , 5 =&gt; "második" + , "lyukak" => array ( "elsõ" + , 5 => "második" , "harmadik" ) ); +]]> </programlisting> </example> </sect2> - -<!-- there is no such thing as multi/singel dim arrays (at least in PHP4) + +<!-- there is no such thing as multi/singel dim arrays (at least in PHP4) <sect2 id="language.types.array.single-dim"> <title>Egydimenziós tömbök</title> @@ -1372,10 +1447,10 @@ függvényekkel lehet létrehozni, vagy explicit beállítani a tömb egyes elemeinek értékét. <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ -$a[0] = "abc"; -$a[1] = "def"; +$a[0] = "abc"; +$a[1] = "def"; $b["foo"] = 13; ]]> </programlisting> @@ -1387,10 +1462,10 @@ a szögletes zárójelben nincs semmi, az érték a tömb végére fûzõdik. [mint a Perl push] <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ $a[] = "Árvíztûrõ"; // $a[2] == "Árvíztûrõ" -$a[] = "tükörfúrógép"; // $a[3] == "tükörfúrógép" +$a[] = "tükörfúrógép"; // $a[3] == "tükörfúrógép" ]]> </programlisting> </informalexample> @@ -1426,10 +1501,10 @@ programjuk. Úgy indexeljük a tömböt, hogy lehetõleg minél kevesebbszer kelljen változtatni az elsõ indexeket]: <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ $a[1] = $f; # egy dimenziós példák -$a["izé"] = $f; +$a["izé"] = $f; $a[1][0] = $f; # kétdimenziós $a["izé"][2] = $f; # (lehet keverni a numerikus és az asszociatív indexeket) @@ -1444,7 +1519,7 @@ PHP 3-ban nem lehet közvetlenül stringbõl többdimenziós tömbre hivatkozni. Például az alábbi kód nem a várt eredményt fogja adni: <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ $a[3]['nem'] = 'jó'; echo "Ez nem mûxik: $a[3][nem]"; @@ -1482,7 +1557,7 @@ egydimenziós tömböt azonos módon tölt fel [aki látott már perl-t annak nem új]: <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ # 1-es példa: @@ -1508,7 +1583,7 @@ Az <function>array</function> függvény egymásba ágyazható többdimenziós tömbökhöz: <informalexample> - <programlisting role="php"> + <programlisting role="php"> <![CDATA[ <?php $a = array( @@ -1525,7 +1600,7 @@ ), "banán" => array( "szín" => "sárga", - "íz" => "pépes", + "íz" => "pépes", # Itt pastey volt, de Hojtsy Gábor # megfejtette a relytélyt, és elvitte # az érte járó hangszórót. @@ -1566,10 +1641,10 @@ <![CDATA[ <?php class semmi #egy objektumosztály létrehozása, semmi az osztály neve -{ +{ function do_semmi () - { - echo "Csinálom a semmit."; + { + echo "Csinálom a semmit."; } } @@ -1592,26 +1667,26 @@ <sect1 id="language.types.resource"> <title>Erõforrások</title> - + <para> Az erõforrás egy olyan speciális változó, ami egy külsõ erõforrásra tartalmaz referenciát. Az erõforrásokat speciális függvények hozzák létre és használják. Lásd az ide - tartozó <link linkend="resource">függeléket</link> + tartozó <link linkend="resource">függeléket</link> a különbözõ erõforrás típusokhoz tartozó függvények listájával. </para> - + <note> <simpara> - Az erõforrás típus a PHP 4-esben került a nyelvbe. + Az erõforrás típus a PHP 4-ben került a nyelvbe. </simpara> </note> <sect2 id="language.types.resource.self-destruct"> <title>Erõforrások felszabadítása</title> - + <para> A PHP 4-es Zend Egine-jében bevezetett hivatkozás-számlálási technika következtében @@ -1627,8 +1702,8 @@ Az állandó adatbázis kapcsolatok speciálisak abban az értelemben, hogy <emphasis>nem</emphasis> szûnnek meg a szemétgyûjtés során. Lásd még - az <link - linkend="features.persistent-connections">állandó + az <link + linkend="features.persistent-connections">állandó kapcsolatok</link> címû részt. </simpara> </note> @@ -1636,20 +1711,21 @@ </sect2> </sect1> - + <sect1 id="language.types.null"> - <title>&null;</title> - + <title>NULL</title> + <para> A speciális &null; érték jelzi, hogy egy változó - nem tartalmaz értéket. + nem tartalmaz értéket. A &null; a <type>NULL<type> + egyetlen lehetséges értéke. </para> <note> <simpara> - A &null; típus a PHP 4-esben került bevezetésre. + A NULL típus a PHP 4-ben került bevezetésre. </simpara> </note> - + <sect2 id="language.types.null.syntax"> <title>Szintaxis</title> <para> @@ -1658,12 +1734,14 @@ &null; kulcsszó. <informalexample> <programlisting role="php"> -$valtozo = Null; +<![CDATA[ +$valtozo = NULL; +]]> </programlisting> </informalexample> </para> </sect2> - + </sect1> <sect1 id="language.types.type-juggling"> @@ -1796,7 +1874,7 @@ idézõjelbe is teheted, hogy ezt a hatást elérd. </simpara> </tip> - + <para> Megjegyzés: szóközök és tabulátorok megengedettek a string belsejében, tehát az alábbiak ugyanazt csinálják: @@ -1812,7 +1890,7 @@ <para> Nem mindig tiszta, hogy mi történik, ha típusok közt cast-olunk [implicit cast]. További információkért lásd az alábbi fejezeteket: - + <itemizedlist> <listitem> <simpara><link linkend="language.types.boolean.casting">Logikai @@ -1824,27 +1902,27 @@ </listitem> <!-- don't exist yet <listitem> - <simpara><link linkend="language.types.float.casting">Converting to + <simpara><link linkend="language.types.float.casting">Converting to float</link></simpara> </listitem> <listitem> - <simpara><link linkend="language.types.string.casting">Converting to + <simpara><link linkend="language.types.string.casting">Converting to string</link></simpara> </listitem> <listitem> - <simpara><link linkend="language.types.array.casting">Converting to + <simpara><link linkend="language.types.array.casting">Converting to array</link></simpara> </listitem> <listitem> - <simpara><link linkend="language.types.object.casting">Converting to + <simpara><link linkend="language.types.object.casting">Converting to object</link></simpara> </listitem> <listitem> - <simpara><link linkend="language.types.resource.casting">Converting to + <simpara><link linkend="language.types.resource.casting">Converting to resource</link></simpara> </listitem> <listitem> - <simpara><link linkend="language.types.null.casting">Converting to + <simpara><link linkend="language.types.null.casting">Converting to &null;</link></simpara> </listitem> --> @@ -1889,7 +1967,7 @@ </sect1> </chapter> - + <!-- Keep this comment at the end of the file Local variables: mode: sgml @@ -1897,7 +1975,7 @@ sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t -sgml-indent-step:1 +sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil @@ -1906,4 +1984,7 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: + vim600: syn=xml fen fdm=syntax fdl=2 si + vim: et tw=78 syn=sgml + vi: ts=1 sw=1 -->
« previous php.doc (#969340398) next »