goba Sun Jul 22 12:09:16 2001 EDT
Modified files:
/phpdoc/hu Translators
/phpdoc/hu/language types.xml
Log:
Huh. Types.xml updating is ready :))
o Adding new files to Translators
o Updating types.xml for the latest release (1.16 -> 1.40 bigjump TM)
o Modified translator name of types.xml as this was a full rewrite
Now only the install.xml update blocks the building of
the hungarian manual (as make test says)
Hope I can finish it in some days
Index: phpdoc/hu/Translators
diff -u phpdoc/hu/Translators:1.33 phpdoc/hu/Translators:1.34
--- phpdoc/hu/Translators:1.33 Tue Jul 10 12:12:11 2001
+++ phpdoc/hu/Translators Sun Jul 22 12:09:16 2001
@@ -59,6 +59,20 @@
install.xml Hojtsy G�bor 1.31 ++
intro.xml Hojtsy G�bor 1.15
security.xml Hojtsy G�bor 1.19
+------- faq -----------------------------------------------------------------
+general.xml
+mailinglist.xml
+databases.xml
+installation.xml
+build.xml
+using.xml
+html.xml
+languages.xml
+common.xml
+misc.xml
+migration4.xml
+migration.xml
+obtaining.xml
------- features ------------------------------------------------------------
connection-handling.xml Hojtsy G�bor 1.3
cookies.xml Hojtsy G�bor 1.5
@@ -68,6 +82,7 @@
images.xml Hojtsy G�bor 1.8
persistent-connections.xml Hojtsy G�bor 1.7
remote-files.xml Hojtsy G�bor 1.6
+safe-mode.xml
------- functions -----------------------------------------------------------
apache.xml Varanka Zolt�n 1.8
array.xml Varanka Zolt�n [offline]
@@ -169,7 +184,7 @@
oop.xml Kontra Gergely 1.5 ++
operators.xml Kontra Gergely 1.22
references.xml Kontra Gergely [undrcon]
-types.xml Kontra Gergely 1.16 ++ (partially updated)
+types.xml Hojtsy G�bor 1.40
variables.xml Kontra Gergely 1.15
-------- pear ---------------------------------------------------------------
about.xml
Index: phpdoc/hu/language/types.xml
diff -u phpdoc/hu/language/types.xml:1.7 phpdoc/hu/language/types.xml:1.8
--- phpdoc/hu/language/types.xml:1.7 Tue Jul 10 12:12:12 2001
+++ phpdoc/hu/language/types.xml Sun Jul 22 12:09:16 2001
@@ -309,10 +309,10 @@
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. Ha mindk�t
- operandus pozit�v, nincs semmi probl�ma. P�ld�ul: ha a
+ 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>.
+ a v�lasz: <literal>-429496728</literal>. Ha mindk�t
+ operandus pozit�v, nincs semmi probl�ma.
</simpara>
</warning>
</para>
@@ -389,13 +389,13 @@
<sect3 id="language.types.integer.casting.from-other">
<title>�talak�t�s m�s t�pusokr�l</title>
<para>
- Az eg�ssz� alak�t�s viselked�se m�s t�pusokra nem
- defini�lt. Jelenleg ezek az �talak�t�sok megegyeznek
- azzal, mintha el�sz�r <link linkend="language.types.boolean.casting"
- >logikai</link>, majd ut�na eg�sz �rt�kk�
- alak�tottad volna a kiindul�si �rt�ket.
<caution>
<simpara>
+ Az eg�ssz� alak�t�s viselked�se m�s t�pusokra nem
+ defini�lt. Jelenleg ezek az �talak�t�sok megegyeznek
+ azzal, mintha el�sz�r <link linkend="language.types.boolean.casting"
+ >logikai</link>, majd ut�na eg�sz �rt�kk�
+ alak�tottad volna a kiindul�si �rt�ket.
Erre a viselkede�sre azonban <emphasis>nem</emphasis>
szabad �p�teni, mivel minden figyelmeztet�s n�lk�l
megv�ltozhat.
@@ -410,19 +410,18 @@
<sect1 id="language.types.double">
<title>Lebeg�pontos sz�mok</title>
<para>
- A lebeg�pontos sz�mot ("double") az al�bbi szintaxisok
- b�rmelyik�vel l�trehozhatunk:
- <informalexample>
- <programlisting role="php">
-$a = 1.234;
-$a = 1.2e3;
- </programlisting>
- </informalexample>
+ A lebeg�pontos sz�mok ("double", "float",
+ "val�s sz�m") az al�bbi szintaxisok
+ b�rmelyik�vel hozhat�ak l�tre:
+ <synopsis>
+$a = 1.234; $a = 1.2e3; $a = 7E-10;
+ </synopsis>
A lebeg�pontos sz�mok m�rete platformf�gg�, de a maxim�lis
�rt�k k�r�lbel�l 1.8e308, durv�n 14 tizedesjegy pontoss�ggal
(64 bites IEEE form�tum).
</para>
<warning id="warn.float-precision">
+ <title>Lebeg�pontos sz�mok pontoss�ga</title>
<para>
El�g gyakran el�fordul, hogy egyszer� decim�lis t�rtek,
mint a <literal>0.1</literal> �s a <literal>0.7</literal>
@@ -453,118 +452,221 @@
<sect1 id="language.types.string">
<title>Stringek</title>
<para>
- A string-eket k�tf�le hat�rol� jellel lehet l�trehozni.
- </para>
- <para>
- Ha a string dupla-id�z�jelben (") van, (n�h�ny
- feldolgoz�si korl�toz�s kiv�tel�vel) a stringen bel�li v�ltoz�k
- behelyettes�t�sre ker�lnek. Ahogy C-ben �s Perl-ben, a bekszles
- [backslash] (\) karakter seg�ts�g�vel lehet speci�lis
- karaktereket megadni:
- <table>
- <title>Escape karakterek</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>szekvencia</entry>
- <entry>jelent�s</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><literal>\n</literal></entry>
- <entry>soremel�s (LF azaz 0x0A ASCII �rt�k)</entry>
- </row>
- <row>
- <entry><literal>\r</literal></entry>
- <entry>kocsivissza (CR azaz 0x0D ASCII �rt�k)</entry>
- </row>
- <row>
- <entry><literal>\t</literal></entry>
- <entry>v�zszintes [norm�l] tab (HT azaz 0x09 ASCII �rt�k)</entry>
- </row>
- <row>
- <entry><literal>\\</literal></entry>
- <entry>backslash [nem sajthib, 1 backslash ugye nem el�g...]</entry>
- </row>
- <row>
- <entry><literal>\$</literal></entry>
- <entry>doll�r jel [a Ft m�g hi�nyzik a nyelvb�l, tal�n az 5.hu v�ltozatban
:]</entry>
- </row>
- <row>
- <entry><literal>\"</literal></entry>
- <entry>dupla-id�z�jel</entry>
- </row>
- <row>
- <entry><literal>\[0-7]{1,3}</literal></entry>
- <entry>
- karakterek olyan sorozata, amely illeszkedik a regul�ris kifejez�sre,
- melynek jelent�se kb. okt�lis sz�m [pontosabban 1-3 '0'-'7'
- intervallumban lev� karakter] [ezt, mint stringet ne akarjuk ki�rni :)]
- </entry>
- </row>
- <row>
- <entry><literal>\x[0-9A-Fa-f]{1,2}</literal></entry>
- <entry>
- karakterek olyan sorozata, amely illeszkedik a szab�lyos kifejez�sre,
- melynek jelent�se kb. hexa sz�m [pontosabban 1 vagy 2 hexa sz�mjegy]
- [ezt se]
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </para>
-
- <para>
- Ha megpr�b�lod b�rmilyen m�s karakter el� �rni
- a \-t, mind a \, mind a karakter ki�r�sra ker�l.
- PHP 3 eset�n ez a pr�b�lkoz�s egy figyelmezet�st
- fog eredm�nyezni az <literal>E_NOTICE</literal>
- hibajelent�si szinten. PHP 4 eset�n nem kapsz
- figyelmeztet�st.
- </para>
-
- <para>
- A m�sodik m�dja a stringek megad�s�nak a szimpla-id�z�jel (')
- karakter. Amikor egy string szimpla-id�z�jelek k�zt van,
- az egyetlen escape szekvencia, amit a nyelv meg�rt a
- "\\" �s a "\'". Ez k�nyelmi szempontok miatt van �gy,
- ugyanis �gy lehetnek szimpla-id�z�jelek �s backslashek
- a szimpla-id�z�jeles sz�vegben. A v�ltoz�k <emphasis>nem</emphasis>
- helyettes�t�dnek be az �rt�k�kkel az ilyen stringen bel�l.
+ A <type>string</type> karakterek sorozata. PHP-ben
+ egy karakter pontosan egy bytenak felel meg, �gy 256
+ k�l�nb�z� karakter lehets�ges. Ez azt is jelenti, hogy
+ a PHP-nek jelenleg nincs be�p�tett Unicode t�mogat�sa.
</para>
+ <note>
+ <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
+ kell tartani a hossz� stringekt�l.
+ </simpara>
+ </note>
+ <sect2 id="language.types.string.syntax">
+ <title>Szintaxis</title>
+ <para>
+ A stringeket h�romf�lek�ppen lehet l�trehozni.
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ <link linkend="language.types.string.syntax.single">aposztr�ffal</link>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="language.types.string.syntax.double">id�z�jellel</link>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ <link linkend="language.types.string.syntax.heredoc">heredoc
+szintaxissal</link>
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <sect3 id="language.types.string.syntax.single">
+ <title>String l�trehoz�sa aposztr�ffal</title>
+ <para>
+ A legk�nnyebben �gy adhatunk meg egy egyszer� stringet,
+ hogy aposztr�fok (<literal>'</literal> karakterek) k�z�
+ tessz�k.
+ </para>
+ <para>
+ Ha a stringben egy aposzt�fot szeretn�l elhelyezni, �s
+ azzal nem a string v�g�t szeretn�d jelezni, m�s nyelvekhez
+ hasonl�an egy visszaperjel karaktert kell alkalmaznod az
+ aposzt�f el�tt (<literal>\</literal>).
+ Ha egy aposztr�f, vagy a string v�ge el�tt el szeretn�l
+ helyezni egy visszaperjelet, meg kell dupl�znod azt.
+ Figyelj arra, hogy ha b�rmilyen m�s karakter el� teszel
+ visszaperjelet, a visszaperjel meg fog jelenni a stringben.
+ Emiatt gyakran nincs sz�ks�g mag�nak a visszaperjelnek
+ a dupl�z�s�ra.
+ <note>
+ <simpara>
+ PHP 3 haszn�latakor azonban egy <literal>E_NOTICE</literal>
+ szint� figyelmeztet�st kapsz, ha ezt kihaszn�lod.
+ </simpara>
+ </note>
+ <note>
+ <simpara>
+ A t�bbi m�ddal ellent�tben a v�ltoz�k �rt�kei
+ <emphasis>nem</emphasis> helyettes�t�dnek be,
+ ha aposztr�fos stingben v�ltoz�kra hivatkozol.
+ </simpara>
+ </note>
+ <informalexample>
+ <programlisting role="php">
+echo 'Egyszer� string';
+echo 'A stringekbe �jsor karaktereket is �p�thetsz,
+ilyen form�ban.';
+echo 'Arnold egyszer azt mondta: "I\'ll be back"';
+// kimenete: ... "I'll be back"
+echo 'Are you sure you want to delete C:\\*.*?';
+// kimenete: ... delete C:\*.*?
+echo 'Are you sure you want to delete C:\*.*?';
+// 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>
+ </sect3>
+ <sect3 id="language.types.string.syntax.double">
+ <title>String l�trehoz�sa id�z�jellel</title>
+ <para>
+ Ha egy stringet id�z�jelek (") k�z� helyez�nk,
+ a PHP t�bb speci�lis jel�l�s feldolgoz�s�ra
+ lesz k�pes:
+ </para>
+ <table>
+ <title>Speci�lis jel�l�sek id�z�jeles stringben</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>jel�l�s</entry>
+ <entry>jelent�se</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>\n</literal></entry>
+ <entry>�jsor (LF vagy 0x0A (10) ASCII k�d� karakter)</entry>
+ </row>
+ <row>
+ <entry><literal>\r</literal></entry>
+ <entry>kocsivissza (CR vagy 0x0D (13) ASCII k�d� karakter)</entry>
+ </row>
+ <row>
+ <entry><literal>\t</literal></entry>
+ <entry>v�zszintes tabul�tor (HT vagy 0x09 (9) ASCII k�d� karakter)</entry>
+ </row>
+ <row>
+ <entry><literal>\\</literal></entry>
+ <entry>visszaperjel</entry>
+ </row>
+ <row>
+ <entry><literal>\$</literal></entry>
+ <entry>doll�rjel</entry>
+ </row>
+ <row>
+ <entry><literal>\"</literal></entry>
+ <entry>id�z�jel</entry>
+ </row>
+ <row>
+ <entry><literal>\[0-7]{1,3}</literal></entry>
+ <entry>
+ egy karaktersorozat, ami okt�lis sz�mokra
+ illeszkedik
+ </entry>
+ </row>
+ <row>
+ <entry><literal>\x[0-9A-Fa-f]{1,2}</literal></entry>
+ <entry>
+ egy karaktersorozat, ami hexadecim�lis sz�mokra
+ illeszkedik
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Ha b�rmilyen m�s karakter el� visszaperjelet �rsz,
+ ebben az esetben is ki fog �r�dni a visszaperjel.
+ </para>
+ <para>
+ A legfontosabb el�nye az id�z�jeles stringeknek az,
+ 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>
+ Egy m�sfajta m�dszer a stringek megad�s�ra a heredoc
+ szintaxis ("<<<"). [ez itt megint nem el�r�s,
+ kedves unix-shell programoz�!] A <literal><<<</literal>
+ 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>
+ A lez�r� azonos�t�nak <emphasis>mindenk�ppen</emphasis> a
+ sor legels� karakter�n kell kezd�dnie. Ugyancsak figyelni
+ kell arra, hogy ez az azonos�t� is az �ltal�nos PHP elemek
+ elnevez�si korl�tai al� tartozik: csak alfanumerikus
+ 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�
+ azonos�t�t tartalmaz� sor ne tartalmazzon semmi m�st,
+ csup�n <emphasis>esetleg</emphasis> egy
+ id�z�jel (<literal>;</literal>) karaktert. Ez m�g
+ pontosabban azt is jelenti, hogy az azonos�t�
+ <emphasis>nem lehet beljebb kezdve</emphasis>, �s
+ nem szabad semmilyen sz�k�z vagy tabul�tor karaktert
+ sem elhelyezni a pontosvessz� el�tt vagy ut�n.
+ </simpara>
+ <simpara>
+ Feltehet�en a legkellemetlenebb korl�toz�s az,
+ 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
+ <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
+ a programod, ami ezt a sorv�g jelz�st haszn�lja.
+ A legt�bb fejleszt�eszk�z azonban lehet�s�get ad
+ UNIX sorv�gjelz�ssel ell�tott �llom�nyok ment�s�re.
+ </simpara>
+ </warning>
- <simpara>
- M�sik m�dja a stringek megad�s�nak a "here doc"
- [NEM tess�k, doki:) {parasolventia}] szintaxis
- ("<<<"). [ez itt megint nem el�r�s,
- kedves unix-shell programoz�!] El�sz�r megadunk a
- <literal><<<</literal> ut�n egy stringv�g sz�veget,
- majd a stringet, majd a stringv�g sz�veget egymag�ban a
- sor elej�n. A stringv�g sz�vegnek <emphasis>mindenk�ppen</emphasis>
- a sor legels� karakter�n kell kezd�dnie. A haszn�lt stringv�g
- jelz�snek azokat a szab�lyokat kell k�vetnie, mint b�rmilyen
- m�s PHP cimk�nek: csak alfanumerikus karaktereket �s al�h�z�st
- tartalmazhat, �s nem sz�m karakterrel vagy al�h�z�ssal kell
- kezd�dnie.
- </simpara>
-
- <para>
- A here doc sz�vegek �gy viselkednek, mint a dupla id�z�jelbe tett
- sz�vegek. Ez azt jelenti, hogy nem kell id�z�jel escape-et haszn�lni
- a here doc-ban, de a fent felsorolt escape-ek haszn�lhat�ak. A
- v�ltoz�helyettes�t�s is m�k�dik, de itt is figyelni kell a komplex
- v�ltoz�kra, mint a stringekn�l.
- <example>
- <title>"Here doc" string p�lda [VAS: V�ge
- A Stringnek de helyette lehet b�rmi:)]</title>
+ <para>
+ A heredoc az id�z�jeles stringekhez hasonl�an m�k�dik,
+ az id�z�jelek n�lk�l. Ez azt jelenti, hogy nem kell
+ visszaperjellel jel�lni az id�z�jeleket a sz�vegben, de
+ a fenti speci�lis jel�l�sek haszn�lhat�ak.
+ 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>
+ <title>"Heredoc" string p�lda [VAS: V�ge
+ A Stringnek de helyette lehet b�rmi]</title>
<programlisting>
<![CDATA[
<?php
$str = <<<VAS
P�lda egy stringre, amely
-t�bb sorban van, �s here doc
+t�bb sorban van, �s heredoc
szintaxis�
VAS;
@@ -589,30 +691,135 @@
VAS;
?>
]]>
- </programlisting>
- </example>
- </para>
-
- <note>
- <para>
- A "here doc" a PHP 4-ben ker�lt a nyelvbe.
- </para>
- </note>
- <para>
- A stringeket �ssze lehet f�zni a '.' (pont) oper�torral.
- A '+' (�sszead�s) oper�tor erre nem j�. [a Perlb�l is kikopott...]
- B�vebb le�r�s�rt n�zd meg a <link
- linkend="language.operators.string">String oper�torok</link>
- r�szt.
- </para>
- <para>
- A stringben lev� karaktereket el�rhetj�k, mint egy sz�mozott karaktert�mb�t,
- C szintaxist haszn�lva. Aki nem tud C-�l, n�zze az al�bbi p�ld�kat.
- </para>
- <para>
- <example>
- <title>String p�ld�k</title>
- <programlisting role="php">
+ </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>
+ <simpara>
+ Ha egy stringet id�z�jelek k�z�tt, vagy heredoc
+ szintaxissal adsz meg, a jel�lt v�ltoz�k �rt�kei
+ behelyettes�t�sre ker�lnek.
+ </simpara>
+ <simpara>
+ K�tf�lek�ppen lehet megadni egy v�ltoz�t, az
+ <link linkend="language.types.string.parsing.simple">egyszer�</link>
+ �s a
+ <link linkend="language.types.string.parsing.complex">komplex</link>
+ form�tummal.
+ Az egyszer� forma a leggyakoribb �s legk�nyelmesebb. Lehet�s�get
+ ad egy skal�r, t�mb �rt�k vagy egy objektum tulajdons�g
+ beilleszt�s�re.
+ </simpara>
+ <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.
+ </simpara>
+ <sect4 id="language.types.string.parsing.simple">
+ <title>Egyszer� szintaxis</title>
+ <simpara>
+ Ha doll�r (<literal>$</literal>) jelet tal�l a PHP
+ egy stringben, moh�n megkeresi az �sszes ezt k�vet�
+ azonos�t�ban is haszn�lhat� karaktert, hogy egy
+ �rv�nyes v�ltoz�nevet alkosson. Haszn�lj kapcsos
+ z�r�jeleket, ha pontosan meg szeretn�d hat�rozni,
+ meddig tart egy v�ltoz�.
+ </simpara>
+ <informalexample>
+ <programlisting role="php">
+$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>
+ Hasonl�k�ppen meg lehet adni t�mbindexet vagy
+ objektum tulajdons�got is. A t�mbindexek eset�ben
+ a z�r� sz�gletes z�r�jel (<literal>]</literal>)
+ jel�li az index v�g�t, az objektum tulajdons�gokn�l
+ az egyszer� skal�rok szab�lyai �rv�nyesek, hab�r
+ objektum tulajdon�gok eset�n nem haszn�lhat� a
+ fenti tr�kk.
+ </simpara>
+ <informalexample>
+ <programlisting role="php">
+$gyumolcsok = array( 'eper' => 'piros' , 'alma' => 'z�ld' );
+echo "Az alma $gyumolcsok[alma].";
+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>
+ B�rmely enn�l komplexebb helyettes�t�shez a komplex
+ szintaxis haszn�latos.
+ </simpara>
+ </sect4>
+ <sect4 id="language.types.string.parsing.complex">
+ <title>Komplex (kapcsos z�r�jeles) szintaxis</title>
+ <simpara>
+ Ezt nem az�rt nevezz�k komplexnek, mert a szintaxis
+ komplex, hanem az�rt, mert �gy komplex kifejez�sek
+ helyettes�t�s�re ny�lik lehet�s�g :).
+ </simpara>
+ <simpara>
+ Gyakorltilag b�rmilyen v�ltoz� �rt�k behelyettes�thet�
+ 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,
+ 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
+ beilleszteni, �s nem v�ltoz�helyettes�t�st adsz meg).
+ N�h�ny p�lda, ami tiszt�zhatja a f�lre�rt�seket:
+ </simpara>
+ <informalexample>
+ <programlisting role="php">
+$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->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->ertekek[3]->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.
+ </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.
+ Ez a t�mb jelz�s azonban nem javasolt a PHP 4-esben.
+ </simpara>
+ </note>
+ <para>
+ <example>
+ <title>N�h�ny string p�lda</title>
+ <programlisting role="php">
<![CDATA[
<?php
/* String hozz�rendel�se */
@@ -634,16 +841,49 @@
/* A string els� karaktere ker�l first-be */
$str = 'Ez egy teszt.';
-$first = $str[0];
+$first = $str{0};
/* Most meg az utols� */
$str = 'Ez m�g mindig egy teszt';
-$last = $str[strlen($str)-1];
+$last = $str{strlen($str)-1};
?>
]]>
- </programlisting>
- </example>
- </para>
+ </programlisting>
+ </example>
+ </para>
+ </sect3>
+
+ </sect2>
+
+ <sect2 id="language.types.string.useful-funcs">
+ <title>Hasznos f�ggv�nyek</title>
+ <para>
+ Stringeket a '.' (pont) string�sszef�z� oper�torral tudsz
+ �sszef�zni. A '+' (�sszead�s) oper�tor nem alkalmas erre a
+ feladatra. L�sd a <link linkend="language.operators.string">String
+ oper�torok</link> c�m� r�szt tov�bbi inform�ci�k�rt.
+ </para>
+ <para>
+ 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>
+ 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
+ <link linkend="ref.regex">POSIX kiterjesztett</link>).
+ </simpara>
+ <simpara>
+ K�l�n f�ggv�nyek l�teznek <link linkend="ref.url">URL stringekhez</link>,
+ �s stringek k�dol�s�hoz/dek�dol�s�hoz
+ (<link linkend="ref.mcrypt">mcrypt</link> �s
+ <link linkend="ref.mhash">mhash</link> k�dol�sok).
+ </simpara>
+ <simpara>
+ V�g�l ha ezek k�z�tt sem tal�lod, amit keresel, l�sd a
+ <link linkend="ref.ctype">karakter t�pus f�ggv�nyeket</link>.
+ </simpara>
+ </sect2>
<sect2 id="language.types.string.conversion">
<title>String konverzi�k</title>
@@ -674,14 +914,14 @@
<informalexample>
<programlisting role="php">
<![CDATA[
-$foo = 1 + "10.5"; // $foo most double (11.5)
-$foo = 1 + "-1.3e3"; // $foo most double (-1299)
+$foo = 1 + "10.5"; // $foo most float (11.5)
+$foo = 1 + "-1.3e3"; // $foo most float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo most integer (1)
$foo = 1 + "bob3"; // $foo most integer (1)
$foo = 1 + "10 Kicsi Pingvin"; // $foo most integer (11)
$foo = 1 + "10 Kicsi Pingvinke" // $foo most integer (11)
$foo = "10.0 diszn� " + 1; // $foo most integer (11)
-$foo = "10.0 diszn� " + 0.5; // $foo most double (10.5) [sz�val 10 diszn�, meg egy
f�ldiszn�]
+$foo = "10.0 diszn� " + 0.5; // $foo most float (10.5) [sz�val 10 diszn�, meg egy
+f�ldiszn�]
]]>
</programlisting>
</informalexample>
@@ -722,10 +962,400 @@
<title>T�mb�k</title>
<para>
- A t�mb�k mind hasht�blak�nt (asszociat�v t�mb), mint indexelt
- t�mbk�nt (vektor, norm�l t�mb) m�k�dnek.
+ A PHP t�mbjei rendezett lek�pez�seket val�s�tanak meg. A
+ lek�pez�s <emphasis>�rt�keket</emphasis> rendel
+ <emphasis>kulcsokhoz</emphasis>. Ez a t�pus sokf�lek�ppen
+ haszn�lhat�, mint egy hagyom�nyos t�mb, egy lista (vektor),
+ hash t�bla, sz�t�r, kollekci�, halmaz, sor, �s m�sok.
+ Mivel egy �jabb PHP t�mb szerepelhet �rt�kk�nt, k�nnyen
+ szimul�lhatsz f�kat.
</para>
+ <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.
+ 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>
+ nyelvi elemmel tudsz l�trehozni, amely sz�mos vessz�vel elv�lasztott
+ <literal><replaceable>kulcs</replaceable> => <replaceable
+ >�rt�k</replaceable></literal> p�rt v�r.
+ </para>
+ <para>
+ 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.
+ Konkr�tabban pl. a <literal>'8'</literal> a <literal>8</literal>
+ eg�sz sz�m lesz, m�g a <literal>'08'</literal> a <literal>'08'</literal>
+ string.
+ </para>
+ <para>
+ Az �rt�k b�rmi lehet.
+ </para>
+ <formalpara id="language.types.array.omit-key">
+ <title>Kulcs elhagy�sa</title>
+ <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,
+ 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> => </optional> <replaceable
+>�rt�k</replaceable>
+ , ...
+ )
+// a <replaceable>kulcs</replaceable> vagy egy <type>string</type
+ > vagy egy nemnegat�v <type>integer</type> (eg�sz sz�m)
+// az <replaceable>�rt�k</replaceable> b�rmi lehet
+ </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>
+ Megl�v� t�mb�k is m�dos�that�ak konkr�t elemek megad�s�val.
+ </para>
+ <para>
+ Ezt �gy tudod megtenni, hogy a t�mb neve ut�n sz�gletes
+ z�r�jelekben megadod a kulcsot, amit m�dos�tani szeretn�l.
+ Ha elhagyod a kulcsot, �s csak egy �res sz�gletes z�r�jel
+ p�rt ("<literal>[]</literal>") adsz meg a v�ltoz� neve ut�n,
+ a t�mb v�g�re illeszthetsz elemet.
+ <synopsis>
+$tomb[<replaceable>kulcs</replaceable>] = <replaceable>�rt�k</replaceable>;
+$tomb[] = <replaceable>�rt�k</replaceable>;
+// a <replaceable>kulcs</replaceable> vagy egy <type>string</type
+ > vagy egy nemnegat�v <type>integer</type> (eg�sz sz�m)
+// az <replaceable>�rt�k</replaceable> b�rmi lehet
+ </synopsis>
+ Ha a <varname>$tomb</varname> nem l�tezik, ezzel l�trej�n.
+ 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.
+ </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>
+ c�m� r�szt.
+ </para>
+ <para>
+ 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>
+
+ <sect3 id="language.types.array.foo-bar">
+ <title>Mi�rt nem j� az <literal>$ize[valami]</literal> forma?</title>
+ <para>
+ Tal�n l�ttad ezt a szintaxist r�gi PHP programokban:
+ <informalexample>
+ <programlisting role="php">
+$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,
+ ami m�r a <link linkend="language.types.array.syntax"
+ >szintaxis</link> r�szben is olvashat� volt, hogy
+ a sz�gletes z�r�jelek ('<literal>[</literal>' �s
+ '<literal>]</literal>') k�z�tt egy kifejez�snek
+ kell �llnia.
+ Ez azt jelenti, hogy �rhatsz ehhez hasonl� dolgokat is:
+ <informalexample>
+ <programlisting role="php">
+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.
+
+ <informalexample>
+ <programlisting role="php">
+$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
+ �rv�nyes azonos�t�, mint a <literal>valami</literal>
+ az el�z� p�ld�ban. De a legut�bbi p�lda ugyanaz,
+ mintha ezt �rn�nk:
+ <informalexample>
+ <programlisting role="php">
+$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
+ <literal>1</literal>, stb.
+ </para>
+ <para>
+ Akkor hogyan lehet m�gis, hogy az <literal>$ize[valami]</literal>
+ m�k�dik? Nos, az�rt, mert <literal>valami</literal> a szintaxisa
+ k�vetkezt�ben egy konstanst hat�roz meg. Azonban ebben az esetben
+ <literal>valami</literal> nev� konstans nem l�tezik. A PHP ebben
+ az esetben azt felt�telezi, hogy a <literal>valami</literal>
+ karaktersorozatra gondolsz (<literal>"valami"</literal>), csak
+ elfejeltetted kitenni az id�z�jeleket.
+ </para>
+ <sect4>
+ <title>De mi�rt nem j� ez?</title>
+ <para>
+ Valamikor a j�v�ben a PHP fejleszt�i hozz�adhatnak egy �j
+ konstanst vagy kulcssz�t a nyelvhez, �s akkor bajba ker�lsz.
+ P�ld�ul jelenleg sem haszn�lhat�ak az <literal>empty</literal>
+ �s <literal>default</literal> szavak, mivel ezek speci�lis
+ kulcsszavak.
+ </para>
+ <para>
+ Ha ezek az �rvek nem gy�znek meg: ez a szintaxis egyszer�en
+ nem javasolt, �s b�rmikor megsz�nhet m�k�dni.
+ </para>
+ <tip>
+ <simpara>
+ Ha az <link linkend="function.error-reporting"
+ >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>
+ sort a programod elej�hez).
+ </simpara>
+ </tip>
+ <note>
+ <simpara>
+ Id�z�jeles <type>string</type>ekben, egy m�sik szintaxis
+ �rv�nyes. 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.
+ </simpara>
+ </note>
+ </sect4>
+ </sect3>
+ </sect2>
+
+ <sect2 id="language.types.array.examples">
+ <title>P�ld�k</title>
+ <para>
+ A t�mb t�pus a PHP-ben nagyon sokoldal�, ez�rt �sszegy�jt�tt�nk
+ n�h�ny p�ld�t, hogy megmutassuk a t�mb�k erej�t.
+ </para>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+// ez
+$a = array( 'sz�n' => 'piros',
+ '�z' => '�des',
+ 'alak' => 'kerek',
+ 'n�v' => 'alma',
+ 4 // 0 lesz a kulcsa
+ );
+
+// teljesen megyezik ezzel
+$a['sz�n'] = 'piros';
+$a['�z'] = '�des';
+$a['alak'] = 'kerek';
+$a['n�v'] = 'alma';
+$a[] = 4; // 0 lesz a kulcsa
+
+$b[] = 'a';
+$b[] = 'b';
+$b[] = 'c';
+// a k�vetkez� t�mb�t adja: array( 0 => 'a' , 1 => 'b' , 2 => 'c' )
+// vagy egyszer�en: array('a', 'b', 'c')
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <example>
+ <title>Az array() haszn�lata</title>
+ <programlisting role="php">
+<![CDATA[
+// T�mb, mint tulajdons�g hozz�rendel�s
+$map = array( 'verzi�' => 4
+ , 'rendszer' => 'Linux'
+ , 'nyelv' => 'angol'
+ , 'short_tags' => true
+ );
+
+// szigor�an sz�mokat tartalmaz� t�mb
+$tomb = array( 7
+ , 8
+ , 0
+ , 156
+ , -10
+ );
+// ez ugyanaz, mint array ( 0 => 7, 1 => 8, ...)
+
+$valtogatas = array( 10 // kulcsa 0
+ , 5 => 6
+ , 3 => 7
+ , 'a' => 4
+ , 11 // kulcsa 6 (a legnagyobb eg�sz kulcs 5 volt)
+ , '8' => 2 // kulcsa 8 (eg�sz!)
+ , '02' => 77 // kulcsa '02'
+ , 0 => 12 // a 10 �rt�ket fel�l�rjuk 12-vel
+ );
+
+// �res t�mb
+$ures = array();
+]]>
+ </programlisting>
+ </example>
+
+ <example id="language.types.array.examples.loop">
+ <title>Kollekci�</title>
+ <programlisting role="php">
+$szinek = array('piros','k�k','z�ld','s�rga');
+
+foreach ( $szinek as $szin )
+{
+ echo "Szereted a(z) $szin sz�nt?\n";
+}
+
+/* kimenete:
+Szereted a(z) piros sz�nt?
+Szereted a(z) k�k sz�nt?
+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:
+ <example id="language.types.array.examples.changeloop">
+ <title>Kollekci�</title>
+ <programlisting role="php">
+<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);
+}
+<link linkend="function.print-r">print_r</link>($szinek);
+
+/* kimenete:
+Array
+(
+ [0] => PIROS
+ [1] => K�K
+ [2] => Z�LD
+ [3] => S�RGA
+)
+*/
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Ebben a p�ld�ban egy egyt�l sz�mozott t�mb�t k�sz�t�nk.
+ <example>
+ <title>Egyt�l kezd�d� index</title>
+ <programlisting role="php">
+$elsonegyed = array(1 => 'Janu�r', 'Febru�r', 'M�rcius');
+<link linkend="function.print-r">print_r</link>($elsonegyed);
+
+/* kimenete:
+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">
+// 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);
+ </programlisting>
+ </example>
+ <para>
+ A t�mb�k rendezettek. A sorrendet sz�mos f�ggv�nnyel
+ megv�ltoztathatod. L�sd a <link linkend="ref.array">t�mb
+ f�ggv�nyek</link> c�m� r�szt tov�bbi inform�ci�k�rt.
+ </para>
+ <example>
+ <title>T�mb�k rendez�se</title>
+ <programlisting role="php">
+<link linkend="function.sort">sort</link>($filenevek);
+<link linkend="function.print-r">print_r</link>($filenevek);
+ </programlisting>
+ </example>
+ <para>
+ Mivel a t�mb egy �rt�ke b�rmi lehet, �rt�kk�nt ak�r
+ egy m�sik t�mb�t is megadhatsz. Ilyen form�ban k�sz�thetsz
+ rekurz�v vagy t�bbdimenzi�s t�mb�ket.
+ </para>
+ <example>
+ <title>Rekurz�v �s t�bbdimenzi�s t�mb�k</title>
+ <programlisting role="php">
+$gyumolcsok = array ( "gy�m�lcs�k" => array ( "a" => "narancs"
+ , "b" => "ban�n"
+ , "c" => "alma"
+ )
+ , "sz�mok" => array ( 1
+ , 2
+ , 3
+ , 4
+ , 5
+ , 6
+ )
+ , "lyukak" => array ( "els�"
+ , 5 => "m�sodik"
+ , "harmadik"
+ )
+ );
+ </programlisting>
+ </example>
+ </sect2>
+
+<!-- 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>
@@ -822,7 +1452,7 @@
<programlisting role="php">
<![CDATA[
$a[3]['ez'] = 'j�';
-echo "Ez m�r j�: " . $a[3][ez];
+echo "Ez m�r j�: " . $a[3]['ez'];
]]>
</programlisting>
</informalexample>
@@ -834,7 +1464,7 @@
<programlisting role="php">
<![CDATA[
$a[3]['ez'] = 'j�';
-echo "Ez j� PHP 4-ben: {$a[3][ez]}";
+echo "Ez j� PHP 4-ben: {$a[3]['ez']}";
]]>
</programlisting>
</informalexample>
@@ -909,6 +1539,8 @@
</para>
</sect2>
+-->
+
</sect1>
<sect1 id="language.types.object">
@@ -950,6 +1582,82 @@
</sect2>
</sect1>
+ <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>
+ 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.
+ </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
+ a haszn�latlan er�forr�sokat automatikusan
+ detekt�lja a PHP (mint a Java). Ebben az esetben
+ minden er�forr�s �ltal haszn�lt �sszes m�s er�forr�s
+ felszabad�t�sra ker�l a szem�tgy�jt� algoritmusban.
+ Emiatt ritk�n sz�ks�ges, hogy felszabad�tsuk a
+ foglalt mem�r��t valamilyen free_result jelleg�
+ f�ggv�nnyel.
+ <note>
+ <simpara>
+ 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�
+ kapcsolatok</link> c�m� r�szt.
+ </simpara>
+ </note>
+ </para>
+ </sect2>
+ </sect1>
+
+
+ <sect1 id="language.types.null">
+ <title>&null;</title>
+
+ <para>
+ A speci�lis &null; �rt�k jelzi, hogy egy v�ltoz�
+ nem tartalmaz �rt�ket.
+ </para>
+ <note>
+ <simpara>
+ A &null; t�pus a PHP 4-esben ker�lt bevezet�sre.
+ </simpara>
+ </note>
+
+ <sect2 id="language.types.null.syntax">
+ <title>Szintaxis</title>
+ <para>
+ Csak egy �rt�ket vehet fel a &null; t�pus, ami
+ a kisbet�s �s nagybet�s �r�sm�dra nem �rz�keny
+ &null; kulcssz�.
+ <informalexample>
+ <programlisting role="php">
+$valtozo = Null;
+ </programlisting>
+ </informalexample>
+ </para>
+ </sect2>
+
+ </sect1>
+
<sect1 id="language.types.type-juggling">
<title>B�v�szked�s a t�pusokkal</title>
@@ -975,8 +1683,11 @@
<programlisting role="php">
<![CDATA[
$foo = "0"; // $foo egy string (ASCII 48)
+<!-- bad example, no real operator (must be used with variable, modifies it too)
$foo++; // $foo egy the string "1" (ASCII 49)
$foo += 1; // $foo most eg�sz (2)
+-->
+$foo += 2; // $foo most eg�sz (2)
$foo = $foo + 1.3; // $foo most double (3.3)
$foo = 5 + "10 Kis Pingvin"; // $foo eg�sz (15)
$foo = 5 + "10 Kismalac"; // $foo eg�sz (15)
@@ -996,14 +1707,9 @@
haszn�ld a <function>settype</function> f�ggv�nyt.
</simpara>
<para>
- Ha kipr�b�ln�d, �rd be az al�bbi sort, hogy l�sd mi t�rt�nik:
- <informalexample>
- <programlisting role="php">
-<![CDATA[
-echo "\$foo==$foo; type is " . gettype ($foo) . "<br>\n";
-]]>
- </programlisting>
- </informalexample>
+ Ha az ebben a fejezetben tal�lhat� p�ld�kat ki szeretn�d pr�b�lni,
+ haszn�ld a <function>var_dump</function> f�ggv�nyt a t�pusok
+ �s �rt�kek ki�r�s�ra.
</para>
<note>
<para>
@@ -1064,6 +1770,9 @@
<simpara>(int), (integer) - eg�ssz� konvert�l</simpara>
</listitem>
<listitem>
+ <simpara>(bool), (boolean) - logikai �rt�kk� konvert�l</simpara>
+ </listitem>
+ <listitem>
<simpara>(real), (double), (float) - lebeg�pontos sz�mm� konvert�l</simpara>
</listitem>
<listitem>
@@ -1077,6 +1786,13 @@
</listitem>
</itemizedlist>
</para>
+ <tip>
+ <simpara>
+ Ahelyett, hogy egy v�ltoz�t stringg� alak�tasz, egyszer�en
+ 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:
@@ -1091,8 +1807,52 @@
</para>
<para>
Nem mindig tiszta, hogy mi t�rt�nik, ha t�pusok k�zt cast-olunk
- [implicit cast]. P�ld�ul az al�bbit �rdemes megjegyezni:
+ [implicit cast]. Tov�bbi inform�ci�k�rt l�sd az al�bbi fejezeteket:
+
+ <itemizedlist>
+ <listitem>
+ <simpara><link linkend="language.types.boolean.casting">Logikai
+ �rt�kk� alak�t�s</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.integer.casting">Eg�sz
+ �rt�kk� alak�t�s</link></simpara>
+ </listitem>
+ <!-- don't exist yet
+ <listitem>
+ <simpara><link linkend="language.types.double.casting">Converting to
+ float</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.string.casting">Converting to
+ string</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.array.casting">Converting to
+ array</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.object.casting">Converting to
+ object</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.resource.casting">Converting to
+ resource</link></simpara>
+ </listitem>
+ <listitem>
+ <simpara><link linkend="language.types.null.casting">Converting to
+ &null;</link></simpara>
+ </listitem>
+ -->
+ </itemizedlist>
+ </para>
+
+ <para>
+ Amikor egy t�mb�t stringg� alak�tasz, az eredm�ny az
+ <literal>Array</literal> sz� lesz. Hasonl�an, ha objektumot
+ stringg� alak�tasz, az <literal>Object</literal> sz�t kapod.
</para>
+
<para>
Ha skal�rb�l, vagy stringb�l t�mbb� szeretn�nk konvert�lni,
a v�ltoz� az els� eleme lesz a t�mbnek: