goba Sat Mar 30 11:47:57 2002 EDT
Modified files:
/phpdoc/hu/functions var.xml
Log:
Some new functions added and translated
Index: phpdoc/hu/functions/var.xml
diff -u phpdoc/hu/functions/var.xml:1.11 phpdoc/hu/functions/var.xml:1.12
--- phpdoc/hu/functions/var.xml:1.11 Sat Mar 30 09:32:13 2002
+++ phpdoc/hu/functions/var.xml Sat Mar 30 11:47:56 2002
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-2"?>
-<!-- EN-Revision: 101 Maintainer: goba Status: updated till print_r -->
+<!-- EN-Revision: 102 Maintainer: goba Status: updated till print_r -->
<reference id="ref.variables">
<title>V�ltoz�kkal kapcsolatos f�ggv�nyek</title>
@@ -840,7 +840,7 @@
<refnamediv>
<refname>print_r</refname>
<refpurpose>
- Ember sz�m�ra olvashat� inform�ci�t ad egy v�ltoz�r�l.
+ Ember sz�m�ra olvashat� inform�ci� egy v�ltoz�r�l
</refpurpose>
</refnamediv>
<refsect1>
@@ -851,70 +851,214 @@
</methodsynopsis>
<simpara>
Ez a f�ggv�ny egy ember sz�m�ra olvashat� form�ban ad vissza
- inform�ci�t a megadott v�ltoz�t�l. Ha egy string, eg�sz
- vagy lebeg�pontos param�tert kap, maga az �rt�k �r�dik ki. Ha t�mb�t kap,
- az elemek kulcs-�rt�k p�rokk�nt �r�dnak ki. Hasonl�an viselkedik
- a print_r objektumok eset�ben is.
+ inform�ci�t a megadott v�ltoz�r�l. Ha egy <type>string</type>,
+ <type>integer</type> vagy <type>float</type> t�pus� �rt�ket
+ kap, mag�t az �rt�ket �rja ki. Ha t�mb�t kap, az elemek
+ kulcs-�rt�k p�rjait �rja ki. Hasonl�an viselkedik
+ objektumok eset�ben is.
</simpara>
<simpara>
- Hasonl�tsd �ssze a <function>print_r</function>-t �s a
- <function>var_dump</function>-ot.
+ A <function>print_r</function> a t�mb bels� mutat�j�t
+ a t�mb v�g�re mozgatja. Haszn�ld a <function>reset</function>
+ f�ggv�nyt, ha el�re kell mozgatnod a mutat�t.
</simpara>
+ &tip.ob-capture;
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
-$a = array (1, 2, array ("a", "b", "c"));
-print_r ($a);
+ $tomb = array ('a' => 'alma', 'b' => 'ban�n', 'c' => array ('x','y','z'));
+ print_r($tomb);
?>
]]>
</programlisting>
</informalexample>
</para>
- <warning>
- <para>
- Ez a f�ggv�ny a 'v�gtelens�gig' futni fog, ha egy direkt,
- vagy indirekt mag�ra mutat� t�mb�t vagy objektumot adsz
- �t param�ter�l. Ez p�ld�ul igaz a <literal>print_r($GLOBALS)</literal>,
- h�v�sra, mivel a <literal>$GLOBALS</literal> mag�ban egy glob�lis
+ <para>
+ Kimenete:
+ <screen>
+<![CDATA[
+<pre>
+Array
+(
+ [a] => alma
+ [b] => ban�n
+ [c] => Array
+ (
+ [0] => x
+ [1] => y
+ [2] => z
+ )
+)
+</pre>
+]]>
+ </screen>
+ </para>
+ <note>
+ <simpara>
+ Ez a f�ggv�ny a PHP 4.0.4 verzi� el�tt a 'v�gtelens�gig' futott,
+ ha egy direkt, vagy indirekt mag�ra mutat� t�mb�t vagy objektumot
+ adt�l �t param�ter�l. Egy p�lda erre a <literal>print_r($GLOBALS)</literal>,
+ h�v�s, mivel a <literal>$GLOBALS</literal> mag�ban egy glob�lis
v�ltoz�, �s �gy mag�ra is tartalmaz referenci�t.
- </para>
- </warning>
+ </simpara>
+ </note>
+ <simpara>
+ L�sd m�g <function>ob_start</function>, <function>var_dump</function>,
+ �s <function>var_export</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.serialize">
+ <refnamediv>
+ <refname>serialize</refname>
+ <refpurpose>
+ Karaktersorozat el��ll�t�sa egy �rt�kb�l
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Le�r�s</title>
+ <methodsynopsis>
+ <type>string</type><methodname>serialize</methodname>
+ <methodparam><type>mixed</type><parameter>value</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ A <function>serialize</function> egy karaktersorozattal t�r
+ vissza, ami a <parameter>value</parameter> param�terben megadott
+ �rt�k karaktersorozatba k�dolt megfelel�je. �gy b�rhol t�rolhat�.
+ </simpara>
+ <simpara>
+ Ez a f�ggv�ny hasznos PHP �rt�kek t�rol�s�ra �s tov�bb�t�s�ra
+ an�lk�l, hogy a szerkezet�k �s/vagy t�pusuk elveszne.
+ </simpara>
+ <simpara>
+ Ha ism�t PHP �rt�kbe szeretn�d tenni a "szerializ�lt"
+ karaktersorozatot, haszn�ld az <function>unserialize</function>
+ f�ggv�nyt. A <function>serialize</function> minden t�pust
+ kezel a <type>resource</type> t�pus kiv�tel�vel. Szerializ�lhatsz
+ ak�r olyan t�mb�ket is, amik magukra tartalmaznak referenci�t.
+ A referenci�k, amiket a t�mbben/objektumban t�rolsz, szint�n
+ beker�lnek a k�dolt karaktersorozatba.
+ </simpara>
+ <note>
+ <para>
+ A PHP 3-ban az objektum tulajdons�gok szerializ�l�dnak, de
+ a met�dusok elvesznek. A PHP 4-esben ilyen probl�ma nem l�p
+ fel. L�sd az <link
+ linkend="language.oop.serialization">objektumok szerializ�ci�ja</link>
+ r�szt a <link linkend="language.oop">Oszt�lyok, objektumok</link>
+ c�m� fejezetben.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title><function>serialize</function> p�lda</title>
+ <programlisting role="php">
+<![CDATA[
+// A $munkamenet_adat egy t�bbdimenzi�s t�mb, az aktu�lis
+// felhaszn�l� munkamenet adataival. A serialize()-t haszn�ljuk
+// az adatok adatb�zisban t�rt�n� t�rol�s�ra a k�r�s v�g�n.
+
+$conn = odbc_connect ("webdb", "php", "csirke");
+$stmt = odbc_prepare ($conn,
+ "UPDATE munkamenetek SET adat = ? WHERE id = ?");
+$sqladat = array (serialize($munkamenet_adat), $PHP_AUTH_USER);
+if (!odbc_execute ($stmt, &$sqladat)) {
+ $stmt = odbc_prepare($conn,
+ "INSERT INTO munkamenetek (id, adat) VALUES(?, ?)");
+ if (!odbc_execute($stmt, &$sqladat)) {
+ /* Valami nem j�tt �ssze, hibakezel�s */
+ }
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ L�sd m�g <function>unserialize</function>.
+ </para>
</refsect1>
</refentry>
<refentry id="function.settype">
<refnamediv>
<refname>settype</refname>
- <refpurpose>Be�ll�tja egy v�ltoz� t�pus�t.</refpurpose>
+ <refpurpose>V�ltoz� t�pus�nak be�ll�t�sa</refpurpose>
</refnamediv>
<refsect1>
<title>Le�r�s</title>
<methodsynopsis>
- <type>int</type><methodname>settype</methodname>
- <methodparam><type>string</type><parameter>var</parameter></methodparam>
+ <type>bool</type><methodname>settype</methodname>
+ <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam><type>string</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<para>
Be�ll�tja a <parameter>var</parameter> v�ltoz� t�pus�t
- <parameter>type</parameter>-ra.
+ <parameter>type</parameter> t�pusra.
</para>
<para>
Lehets�ges <parameter>type</parameter> �rt�kek:
<itemizedlist>
- <listitem><simpara>"integer"</simpara></listitem>
- <listitem><simpara>"double"</simpara></listitem>
- <listitem><simpara>"string"</simpara></listitem>
- <listitem><simpara>"array"</simpara></listitem>
- <listitem><simpara>"object"</simpara></listitem>
+ <listitem>
+ <simpara>
+ "boolean" (vagy a PHP 4.2.0 �ta "bool")
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "integer" (vagy a PHP 4.2.0 �ta "int")
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "float" (csak a PHP 4.2.0 �ta, kor�bban "double")
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "string"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "array"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "object"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "null" (a PHP 4.0.8 �ta)
+ </simpara>
+ </listitem>
</itemizedlist>
</para>
<para>
- Igazat ad vissza sikeress�g eset�n, hamisat egy�bk�nt.
+ &true; �rt�ket ad siker eset�n, &false; �rt�ket egy�bk�nt.
</para>
<para>
- L�sd m�g: <function>gettype</function>.
+ <example>
+ <title><function>settype</function> p�lda</title>
+ <programlisting role="php">
+<![CDATA[
+$ize = "5valami"; // string
+$valami = true; // boolean
+
+settype($ize, "integer"); // $ize most 5 (integer)
+settype($valami, "string"); // $valami most "1" (string)
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ L�sd m�g <function>gettype</function>,
+ <link linkend="language.types.typecasting">t�pus �talak�t�s</link> �s
+ <link linkend="language.types.type-juggling">b�v�szked�s a t�pusokkal</link>.
</para>
</refsect1>
</refentry>
@@ -922,7 +1066,7 @@
<refentry id="function.strval">
<refnamediv>
<refname>strval</refname>
- <refpurpose>Visszaadja a sz�veges �rt�k�t egy v�ltoz�nak.</refpurpose>
+ <refpurpose>Egy v�ltoz� karaktersorozat �rt�k�t adja vissza</refpurpose>
</refnamediv>
<refsect1>
<title>Le�r�s</title>
@@ -931,17 +1075,116 @@
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
- Visszaadja a sz�veges �rt�k�t a <parameter>var</parameter> v�ltoz�nak.
+ Visszaadja a karaktersorozatt� alak�tott �rt�k�t a
+ <parameter>var</parameter> param�terben megadott v�ltoz�nak.
+ L�sd a <type>string</type> t�pus dokument�ci�j�t az �talak�t�s
+ le�r�s�hoz.
</simpara>
<simpara>
- A <parameter>var</parameter> b�rmilyen skal�r t�pus lehet. Azonban nem
- alkalmazhatod az <function>strval</function>-t t�mb�kre vagy objektumokra.
+ A <parameter>var</parameter> b�rmilyen skal�r t�pus lehet. Nem
+ alkalmazhatod azonban az <function>strval</function> f�ggv�nyt
+ t�mb�k�n vagy objektumokon.
</simpara>
<simpara>
- L�sd m�g: <function>doubleval</function>,
+ L�sd m�g <function>floatval</function>,
<function>intval</function>, <function>settype</function> �s
- <link linkend="language.types.type-juggling">B�v�szked�s a t�pusokkal</link>.
+ <link linkend="language.types.type-juggling">b�v�szked�s a t�pusokkal</link>.
</simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.unserialize">
+ <refnamediv>
+ <refname>unserialize</refname>
+ <refpurpose>
+ PHP �rt�ket �ll�t el� egy k�dolt karaktersorozatb�l
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Le�r�s</title>
+ <methodsynopsis>
+ <type>mixed</type><methodname>unserialize</methodname>
+ <methodparam><type>string</type><parameter>str</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ Az <function>unserialize</function> egy szerializ�lt �rt�ket v�r,
+ (l�sd a <function>serialize</function> f�ggv�nyt) �s visszaalak�tja
+ PHP �rt�kk� azt. Az �talak�tott �rt�ket adja vissza, ami lehet
+ <type>integer</type>, <type>float</type>, <type>string</type>,
+ <type>array</type> vagy <type>object</type> t�pus�.
+ </simpara>
+ <note>
+ <para>
+ Defini�lhatsz egy callback f�ggv�nyt, amit a PHP akkor
+ h�v meg, ha egy neml�tez� oszt�lyb�l kell p�ld�nyt
+ l�trehoznia a deszerializ�ci� sor�n. Erre akkor lehet
+ sz�ks�g, ha nem szeretn�l egy t�k�letlen "__PHP_Incomplete_Class"
+ objektumot kapni. Haszn�ld a &php.ini;, <function>ini_set</function>
+ vagy .htaccess seg�ts�g�vel be�ll�that� 'unserialize_callback_func'
+ �rt�ket a f�ggv�ny be�ll�t�s�ra. Minden alkalommal, amikor
+ egy nem defini�lt oszt�lyb�l kell p�ld�nyt l�trehozni, ezt
+ a f�ggv�nyt fogja a PHP megh�vni. Ha ki szeretn�d kapcsolni ezt
+ a szolg�ltat�st, �ll�tsd �resre ezt a be�ll�t�st.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title>unserialize_callback_func p�lda</title>
+ <programlisting role="php">
+<![CDATA[
+$szerializalt_obj='O:1:"a":1:{s:5:"value";s:3:"100";}';
+
+ini_set('unserialize_callback_func','mycallback'); // saj�t callback f�ggv�ny
+
+function mycallback($osztaly_neve) {
+ // Itt be tudod t�lteni azt a k�ls� �llom�nyt, ami az
+ // oszt�ly defin�ci�j�t tartalmazza. Az oszt�ly nev�t
+ // kapod param�ter�l, az alapj�n d�nthetsz.
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ A PHP 3-ban az objektum tulajdons�gok szerializ�l�dnak, de
+ a met�dusok elvesznek. A PHP 4-esben ilyen probl�ma nem l�p
+ fel. L�sd az <link
+ linkend="language.oop.serialization">objektumok szerializ�ci�ja</link>
+ r�szt a <link linkend="language.oop">Oszt�lyok, objektumok</link>
+ c�m� fejezetben.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title><function>unserialize</function> p�lda</title>
+ <programlisting role="php">
+<![CDATA[
+// Itt az unserialize() f�ggv�nyt haszn�ljuk, miut�n az adatb�zisb�l
+// lek�rdezt�k a munkamenet adatot a $munkamenet_adat v�ltoz�ba.
+// Ez a p�lda kieg�sz�ti a serialize() p�ld�j�t.
+
+$conn = odbc_connect ("webdb", "php", "csirke");
+$stmt = odbc_prepare ($conn, "SELECT adat FROM munkamenetek WHERE id = ?");
+$sqladat = array ($PHP_AUTH_USER);
+if (!odbc_execute ($stmt, &$sqladat) || !odbc_fetch_into ($stmt, &$tmp)) {
+ // Ha az execute() vagy a fetch() hib�s, �res t�mb�t vesz�nk
+ $munkamenet_adat = array();
+} else {
+ // Most m�r a deszerializ�lt adatokat a $tmp[0]-ban tal�ljuk
+ $munkamenet_adat = unserialize($tmp[0]);
+ if (!is_array($munkamenet_adat)) {
+ // Valami rosszul ment, �res t�mb�t vesz�nk
+ $munkamenet_adat = array();
+ }
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ L�sd m�g <function>serialize</function>.
+ </para>
</refsect1>
</refentry>