adu Tue Mar 19 10:17:58 2002 EDT
Added files:
/phpdoc/ro/functions var.xml
Log:
Variable Functions - Romanian version
Index: phpdoc/ro/functions/var.xml
+++ phpdoc/ro/functions/var.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- $Revision: 1.1 $ -->
<reference id="ref.variables">
<title>Variabile</title>
<titleabbrev>Variabile</titleabbrev>
<partintro>
<para>
Pentru informa�ii despre comportamentul variabilelor, consulta�i capitolul
<link linkend="language.variables">Variabile</link>, sec�iunea
<link linkend="langref">Documenta�ia limbajului</link> din manual.
</para>
</partintro>
<refentry id="function.doubleval">
<refnamediv>
<refname>doubleval</refname>
<refpurpose>Alias pentru <function>floatval</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<para>
Aceast� func�ie este un alias pentru func�ia <function>floatval</function>.
</para>
<note>
<para>
Acest alias este inutil acum, �n urma redenumirii unei func�ii, dar �n
versiunile mai vechi ale PHP ve�i fi nevoi�i s� folosi�i acest alias, �ntruc�t
<function>floatval</function> nu exist� �n acele versiuni.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.empty">
<refnamediv>
<refname>empty</refname>
<refpurpose>Determin� dac� o variabil� este definit�</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>boolean</type><methodname>empty</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<note>
<para>
<function>empty</function> este o construc�ie de limbaj.
</para>
</note>
<para>
Este inversul folosirii construc�iei
<literal>(boolean) <parameter>var</parameter></literal>,
cu deosebirea c� nu se genereaz� mesaj de aten�ionare dac�
variabila nu este definit�. Consulta�i
<link linkend="language.types.boolean.casting">conversia la
boolean</link> pentru detalii.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
$var = 0;
if (empty($var)) { // este evaluat� ca TRUE
echo '$var este 0 sau nu este definit�';
}
if (!isset($var)) { // este evaluat� ca FALSE
echo '$var nu este definit�';
}
]]>
</programlisting>
</informalexample>
<simpara>
De notat c� este lipsit� de sens folosirea cu un parametru care
nu reprezint� o variabil�. De exemplu,
<command>empty (addslashes ($name))</command> nu are sens.
In acest exemplu este verificat ceva ce nu reprezint� o variabil�
c� ar avea valoarea &false;.
</simpara>
<simpara>
Mai consulta�i <function>isset</function> �i
<function>unset</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.floatval">
<refnamediv>
<refname>floatval</refname>
<refpurpose>Returneaz� valoarea de tip float a unei variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>float</type><methodname>floatval</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� valoarea de tip <type>float</type> a parametrului
<parameter>var</parameter>.
</simpara>
<para>
<parameter>var</parameter> poate s� fie orice tip scalar. Nu se poate folosi
<function>floatval</function> pe tablouri (<type>array</type>)
sau obiecte (<type>object</type>).
<informalexample>
<programlisting role="php">
<![CDATA[
$var = '122.34343Gigi';
$float_value_of_var = floatval ($var);
print $float_value_of_var; // afi�eaz� 122.34343
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Mai consulta�i <function>intval</function>,
<function>strval</function>, <function>settype</function> �i
<link linkend="language.types.type-juggling">Tipuri
de date</link>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.gettype">
<refnamediv>
<refname>gettype</refname>
<refpurpose>Returneaz� tipul unei variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>string</type><methodname>gettype</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� tipul variabilei PHP <parameter>var</parameter>.
</para>
<warning>
<simpara>
Nu folosi�i niciodat� <function>gettype</function> pentru a testa
un anumit tip de dat� pentru c� �irul de caractere returnat poate s�
se schimbe la versiuni urm�toare. �n plus, opera�ia este �i consumatoare
de timp, deoarece implic� compara�ie �ntre �iruri de caractere.
</simpara>
<simpara>
Se recomand� folosirea func�iilor <literal>is_*</literal>.
</simpara>
</warning>
<para>
Valori posibile pentru �irul de caractere returnat sunt:
<itemizedlist>
<listitem>
<simpara>"<type>boolean</type>" (�ncep�nd cu PHP 4)</simpara>
</listitem>
<listitem>
<simpara>"<type>integer</type>"</simpara>
</listitem>
<listitem>
<simpara>"<type>double</type>" (din motive istorice, se returneaz�
"double" �n loc de "float" �n cazul tipului <type>float</type>)
</simpara>
</listitem>
<listitem>
<simpara>"<type>string</type>"</simpara>
</listitem>
<listitem>
<simpara>"<type>array</type>"</simpara>
</listitem>
<listitem>
<simpara>"<type>object</type>"</simpara>
</listitem>
<listitem>
<simpara>"<type>resource</type>" (�ncep�nd cu PHP 4)</simpara>
</listitem>
<listitem>
<simpara>"<type>NULL</type>" (�ncep�nd cu PHP 4)</simpara>
</listitem>
<listitem>
<simpara>"user function" (doar �n PHP 3, nu se mai folose�te)</simpara>
</listitem>
<listitem>
<simpara>"unknown type"<!-- someone's joking? --></simpara>
</listitem>
</itemizedlist>
</para>
<para>
Pentru PHP 4, se folose�te <function>function_exists</function> �i
<function>method_exists</function> �n loc de
<function>gettype</function> pentru o func�ie.
</para>
<para>
Mai cunsulta�i
<function>settype</function>,
<function>is_array</function>,
<function>is_bool</function>,
<function>is_float</function>,
<function>is_integer</function>,
<function>is_null</function>,
<function>is_numeric</function>,
<function>is_object</function>,
<function>is_resource</function>,
<function>is_scalar</function> �i
<function>is_string</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.get-defined-vars">
<refnamediv>
<refname>get_defined_vars</refname>
<refpurpose>
Returneaz� un tablou cu toate variabilele definite
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>array</type><methodname>get_defined_vars</methodname>
<void/>
</methodsynopsis>
<para>
Aceast� func�ie returneaz� un tablou multidimensional care con�ine
toate variabilele definite (globale, definite de utilizator sau
de c�tre server).
<informalexample>
<programlisting role="php">
<![CDATA[
$b = array(1, 1, 2, 3, 5, 8);
$arr = get_defined_vars();
// afi�eaz� $b
print_r($arr["b"]);
// afi�eaz� calea c�tre interpretorul PHP (dac� este folosit ca CGI)
// exemplu: /usr/local/bin/php
echo $arr["_"];
// afi�eaz� parametrii liniei de comand�, dac� exist�
print_r($arr["argv"]);
// afi�eaz� toate variabilele server
print_r($arr["HTTP_SERVER_VARS"]);
// afi�eaz� toate cheile tablourilor disponibile
print_r(array_keys(get_defined_vars()));
]]>
</programlisting>
</informalexample>
</para>
<para>
Mai consulta�i <function>get_defined_functions</function> and
<function>get_defined_constants</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.get-resource-type">
<refnamediv>
<refname>get_resource_type</refname>
<refpurpose>
Returneaz� tipul resursei
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>string</type><methodname>get_resource_type</methodname>
<methodparam><type>resource</type><parameter>handle</parameter></methodparam>
</methodsynopsis>
<para>
Aceast� func�ie returneaz� un �ir de caractere care reprezint� tipul
resursei <type>resource</type> care i-a fost pasat�. Dac� parametrul
<type>resource</type> nu este o resurs� valid�, se va genera o eroare.
<informalexample>
<programlisting role="php">
<![CDATA[
$c = mysql_connect();
echo get_resource_type($c) . "\n";
// afi�eaz�: mysql link
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";
// afi�eaz�: file
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
// afi�eaz�: domxml document
]]>
</programlisting>
</informalexample>
</para>
</refsect1>
</refentry>
<refentry id="function.import-request-variables">
<refnamediv>
<refname>import_request_variables</refname>
<refpurpose>Import� variabilele GET/POST/Cookie variabile globale</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>import_request_variables</methodname>
<methodparam><type>string</type><parameter>types</parameter></methodparam>
<methodparam
choice="opt"><type>string</type><parameter>prefix</parameter></methodparam>
</methodsynopsis>
<simpara>
Imports� variabilele de tip GET/POST/Cookie, f�c�ndu-le vizibile ca variabile
globale. Este util dac� se dezactiveaz�
<link linkend="ini.register-globals">register_globals</link>,
dar se dore�te totu�i vizibilitatea unor variabile in mod global.
</simpara>
<simpara>
Folosind parametrul <parameter>types</parameter>
se poate specifica ce variabile s� fie importate. Se pot folosi caracterele
'G', 'P' and 'C' pentru variabile GET, POST, respectiv Cookie.
Aceste caractere nu sunt cu majuscule nesemnificative, adic�
se poate folosi �i o combina�ie a caracterelor 'g', 'p' and 'c'.
POST include �i informa�iile despre fi�iere �nc�rcate.
De notat c� ordinea �n care sunt scrie caracterele este important�.
Dac� se folose�te combina�ia "gp", variabilele POST vor suprascrie
variabilele GET cu acelea�i nume. Orice litere �n afar� de GPC sunt
ignorate.
</simpara>
<note>
<para>
De�i parametrul <parameter>prefix</parameter> este op�ional,
se va genera o aten�ionare la nivelul utilizatorului dac� acesta lipse�te
sau este un �ir de caractere vid. Acest lucru se face din motive de
securitate. Dac� se folose�te nivelul implicit de raportare a erorilor,
aten�ion�rile la nivelul utilizatorului nu sunt afi�ate.
</para>
</note>
<informalexample>
<programlisting role="php">
<![CDATA[
// vor fi importate variabilele GET �i POST
// cu prefixul "rvar_"
import_request_variables("gP", "rvar_");
]]>
</programlisting>
</informalexample>
<simpara>
Mai consulta�i <link linkend="ini.register-globals">register_globals</link>
�i <link linkend="ini.track-vars">track_vars</link>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.intval">
<refnamediv>
<refname>intval</refname>
<refpurpose>Returneaz� valoarea �ntreag� a unei variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>int</type><methodname>intval</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>base</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� valoarea �ntreag� a variabilei <parameter>var</parameter>,
folosind baza specificat� �n <parameter>base</parameter> pentru conversie
(implicit se folose�te baza 10).
</simpara>
<simpara>
<parameter>var</parameter> poate s� fie orice tip scalar. Nu se poate folosi
<function>intval</function> pentru tablouri (<type>array</type>) sau
obiecte (<type>object</type>).
</simpara>
<note>
<para>
Parametrul <parameter>base</parameter> are efect pentru
<function>intval</function> doar dac� parametrul
<parameter>var</parameter> este un �ir de caractere.
</para>
</note>
<simpara>
Mai consulta�i <function>floatval</function>,
<function>strval</function>, <function>settype</function> �i
<link linkend="language.types.type-juggling">Tipuri
de date</link>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.is-array">
<refnamediv>
<refname>is_array</refname>
<refpurpose>Decide dac� o variabil� este un tablou</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_array</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este de tip <type>array</type>,
&false; �n caz contrar.
</para>
<para>
Mai consulta�i
<function>is_float</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_string</function>, �i
<function>is_object</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-bool">
<refnamediv>
<refname>is_bool</refname>
<refpurpose>
Decide dac� o variabil� este de tip boolean
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_bool</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este de tip
<type>boolean</type>, &false; �n caz contrar.
</para>
<para>
Mai consulta�i
<function>is_array</function>,
<function>is_float</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_string</function>, �i
<function>is_object</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-double">
<refnamediv>
<refname>is_double</refname>
<refpurpose>Alias pentru <function>is_float</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<para>
Aceast� func�ie este un alias pentru func�ia <function>is_float</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-float">
<refnamediv>
<refname>is_float</refname>
<refpurpose>Decide dac� o variabil� este de tip float</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_float</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� &true; dac� <parameter>var</parameter> este de tip
<type>float</type>, &false; �n caz contrar.
</simpara>
<note>
<para>
Pentru a testa dac� o variabil� este numeric� sau un �ir de caractere
care reprezint� un num�r (cum ar fi variabilele venite prin intermediul
unui form, care au �ntotdeauna de tip <type>string</type>), trebuie
folosit� func�ia <function>is_numeric</function>.
</para>
</note>
<simpara>
Mai consulta�i
<function>is_bool</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_numeric</function>,
<function>is_string</function>,
<function>is_array</function>, �i
<function>is_object</function>,
</simpara>
</refsect1>
</refentry>
<refentry id="function.is-int">
<refnamediv>
<refname>is_int</refname>
<refpurpose>Decide dac� o variabil� este de tip integer</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_int</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� &true; dac� <parameter>var</parameter> este de tip
<type>integer</type>, &false; �n caz contrar.
</simpara>
<note>
<para>
Pentru a testa dac� o variabil� este numeric� sau un �ir de caractere
care reprezint� un num�r (cum ar fi variabilele venite prin intermediul
unui form, care au �ntotdeauna de tip <type>string</type>), trebuie
folosit� func�ia <function>is_numeric</function>.
</para>
</note>
<simpara>
Mai consulta�i <function>is_bool</function>,
<function>is_float</function>,
<function>is_integer</function>,
<function>is_numeric</function>,
<function>is_string</function>,
<function>is_array</function>, �i
<function>is_object</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.is-integer">
<refnamediv>
<refname>is_integer</refname>
<refpurpose>Alias pentru <function>is_int</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<para>
Aceast� func�ie este un alias pentru <function>is_int</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-long">
<refnamediv>
<refname>is_long</refname>
<refpurpose>Alias pentru <function>is_int</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<para>
Aceast� func�ie este un alias pentru <function>is_int</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-null">
<refnamediv>
<refname>is_null</refname>
<refpurpose>
Decide dac� o variabil� este &null;
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_null</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este
<type>null</type>, &false; �n caz contrar.
</para>
<para>
Mai consulta�i <function>is_bool</function>,
<function>is_numeric</function>,
<function>is_float</function>,
<function>is_int</function>,
<function>is_string</function>,
<function>is_object</function>,
<function>is_array</function>, �i
</para>
</refsect1>
</refentry>
<refentry id="function.is-numeric">
<refnamediv>
<refname>is_numeric</refname>
<refpurpose>
Decide dac� o variabil� este numeric� sau un �ir de caractere numeric
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_numeric</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este numeric�
sau un �ir de caractere numeric, &false; �n caz contrar.
</para>
<para>
Mai consulta�i <function>is_bool</function>,
<function>is_float</function>,
<function>is_int</function>,
<function>is_string</function>,
<function>is_object</function>,
<function>is_array</function>, �i
<function>is_integer</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-object">
<refnamediv>
<refname>is_object</refname>
<refpurpose>Decide dac� o variabil� este de tip object</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_object</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este de tip <type>object</type>,
&false; �n caz contrar.
</para>
<para>
Mai consulta�i <function>is_bool</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_float</function>,
<function>is_string</function>, �i
<function>is_array</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-real">
<refnamediv>
<refname>is_real</refname>
<refpurpose>Alias pentru <function>is_float</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<para>
Aceast� func�ie este un alias pentru <function>is_float</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-resource">
<refnamediv>
<refname>is_resource</refname>
<refpurpose>
Decide dac� o variabil� este o resurs�
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_resource</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
<function>is_resource</function> returneaz� &true; dac�
<parameter>var</parameter> este o resurs�, &false; �n caz contrar.
</para>
<para>
Consulta�i documenta�ia pentru tipul <type>resource</type> pentru detalii.
</para>
</refsect1>
</refentry>
<refentry id="function.is-scalar">
<refnamediv>
<refname>is_scalar</refname>
<refpurpose>
Decide dac� o variabil� este un scalar
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_scalar</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
<function>is_scalar</function> returneaz� &true; dac�
<parameter>var</parameter> este un scalar, &false; �n caz contrar.
</para>
<para>
Variabilele de tip scalar includ tipurile <type>integer</type>,
<type>float</type>, <type>string</type> �i <type>boolean</type>.
Tipurile <type>array</type>, <type>object</type> �i <type>resource</type>
nu sunt tipuri scalare.
<informalexample>
<programlisting role="php">
<!-- TODO: better example, this one can be quite misleading for unexperienced
programmers. -->
<![CDATA[
function show_var($var) {
if (is_scalar($var)) {
echo $var;
} else {
var_dump($var);
}
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");
show_var($pi);
// afi�eaz� 3.1416
show_var($proteins);
// afi�eaz�:
// array(3) {
// [0]=>
// string(10) "hemoglobin"
// [1]=>
// string(20) "cytochrome c oxidase"
// [2]=>
// string(10) "ferredoxin"
// }
]]>
</programlisting>
</informalexample>
</para>
<note>
<para>
<function>is_scalar</function> nu consider� tipul <type>resource</type>
ca fiind scalar, resursele fiind tipuri de date abstracte care sunt bazate
pe valori �ntregi. Acest detaliu de implementare se poate modifica pe viitor,
a�a c� nu trebuie s� scrie�i aplica�ii care s� depind� de el.
</para>
</note>
<para>
Mai consulta�i <function>is_bool</function>,
<function>is_numeric</function>,
<function>is_float</function>,
<function>is_int</function>,
<function>is_real</function>,
<function>is_string</function>,
<function>is_object</function>,
<function>is_array</function>, and
<function>is_integer</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.is-string">
<refnamediv>
<refname>is_string</refname>
<refpurpose>Decide dac� o variabil� este de tip string</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_string</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Returneaz� &true; dac� <parameter>var</parameter> este de tip
<type>string</type>, &false; �n caz contrar.
</para>
<para>
Mai consulta�i <function>is_bool</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_float</function>,
<function>is_real</function>,
<function>is_object</function>, �i
<function>is_array</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.isset">
<refnamediv>
<refname>isset</refname>
<refpurpose>Determin� dac� o variabil� este definit�</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>boolean</type><methodname>isset</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><parameter>...</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� &true; dac� <parameter>var</parameter>
exists�, &false; �n caz contrar.
</simpara>
<para>
Dac� o variabil� a fost �tears� cu <function>unset</function>,
<function>isset</function> va returna &false;. De asemenea,
<function>isset</function> va returna &false; dac� se testeaz� o variabil�
a c�rei valoare a fost setat� ca &null;. De notat c� octetul nul
(<literal>"\0"</literal>) nu este echivalent cu constanta PHP &null;.
<informalexample>
<programlisting role="php">
<![CDATA[
$a = "test";
$b = "alt_test";
echo isset ($a); // TRUE
echo isset ($a, $b) //TRUE
unset ($a);
echo isset ($a); // FALSE
echo isset ($a, $b); //FALSE
$foo = NULL;
print isset ($foo); // FALSE
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Mai consulta�i <function>empty</function> �i
<function>unset</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.print-r">
<refnamediv>
<refname>print_r</refname>
<refpurpose>
Afi�eaz� informa�ii despre o variabil� �ntr-un format u�or de �n�eles
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>void</type><methodname>print_r</methodname>
<methodparam><type>mixed</type><parameter>expression</parameter></methodparam>
</methodsynopsis>
<simpara>
<function>print_r</function> afi�eaz� informa�ii espre o variabil�
�ntr-un format u�or de citit de c�tre utilizatori. Dac� se paseaz�
un parametru de tip <type>string</type>, <type>integer</type> sau
<type>float</type>, va fi afi�at� chiar valoarea parametrului.
Dac� se paseaz� un parametru de tip <type>array</type>,
valorile vor fi prezentate �ntr-o form� care arat� cheile �i valorile.
Asem�n�tor se �nt�mpl� �i cu tipul <type>object</type>.
</simpara>
<simpara>
De re�inut c� <function>print_r</function> va muta pointer-ul tabloului
la sf�r�it. Trebuie folosit� func�ia <function>reset</function> pentru
a aduce pointer-ul la �nceput.
</simpara>
&tip.ob-capture;
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
$a = array ('a' => 'm�r', 'b' => 'par�', 'c' => array ('x','y','z'));
print_r ($a);
</pre>
]]>
</programlisting>
</informalexample>
</para>
<para>
Care va afi�a:
<screen>
<![CDATA[
Array
(
[a] => m�r
[b] => par�
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
]]>
</screen>
</para>
<note>
<simpara>
La versiunile mai mici dec�t PHP 4.0.4, <function>print_r</function>
va rula la infinit dac� se paseaz� un <type>array</type> sau un
<type>object</type> care con�ine o referin�� direct� la el �nsu�i.
Un exemplu este <literal>print_r($GLOBALS)</literal> deoarece
<literal>$GLOBALS</literal> este o variabil� global�,
care con�ine o referin�� la ea ins�i.
</simpara>
</note>
<simpara>
Mai consulta�i <function>ob_start</function>, <function>var_dump</function>,
�i <function>var_export</function>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.serialize">
<refnamediv>
<refname>serialize</refname>
<refpurpose>
Genereaz� o reprezentare liniar� a unei variabile
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>string</type><methodname>serialize</methodname>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<simpara>
<function>serialize</function> returneaz� un �ir de caractere care con�ine
reprezentarea liniar� a parametrului <parameter>value</parameter>, care
poate fi stocat� u�or sub aceast� form�.
</simpara>
<simpara>
Este util� pentru a stoca sau pentru a transmite variabile PHP
f�r� alterarea tipului �i structurii acestora.
</simpara>
<simpara>
Pentru a reveni de la reprezentarea liniar� la cea a unei variabile PHP
se folose�te func�ia <function>unserialize</function>.
<function>serialize</function> lucreaz� cu toate tipurile de variabile,
mai pu�in cu tipul <type>resource</type>.
Se poate folosi <function>serialize</function> chiar �i pentru tablouri
care con�in referin�e circulare (c�tre sine). Aceste referin�e
vor fi �i ele liniarizate �i stocate.
</simpara>
<note>
<para>
�n PHP 3, propriet��ile obiectelor sunt p�strate, �ns� metodele
se pierd. PHP 4 a eliminat aceast� limitare. Consulta�i �i sec�iunea
<link linkend="language.oop.serialization">Liniarizarea obiectelor</link>
a capitolului <link linkend="language.oop">Clase �i
obiecte</link> pentru mai multe informa�ii.
</para>
</note>
<para>
<example>
<title>Exemplu pentru func�ia <function>serialize</function></title>
<programlisting role="php">
<![CDATA[
// $session_data con�ine un tablou multi-dimensional cu informa�ii
// ale sesiunii pentru utilizatorul curent
// se folose�te serialize() pentru a stoca acest tablou
// intr-o baz� de date la �ncheierea cererii
$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn,
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata)) {
$stmt = odbc_prepare($conn,
"INSERT INTO sessions (id, data) VALUES(?, ?)");
if (!odbc_execute($stmt, &$sqldata)) {
/* ceva nu a func�ionat cum trebuie */
}
}
]]>
</programlisting>
</example>
</para>
<para>
Mai consulta�i: <function>unserialize</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.settype">
<refnamediv>
<refname>settype</refname>
<refpurpose>Seteaz� tipul unei variable</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>settype</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam><type>string</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<para>
Seteaz� tipul <parameter>type</parameter> pentru variabila
<parameter>var</parameter>.
</para>
<para>
Valorile posibile pentru <parameter>type</parameter> sunt:
<itemizedlist>
<listitem>
<simpara>
"boolean" (sau, p�n� la PHP 4.2.0, "bool")
</simpara>
</listitem>
<listitem>
<simpara>
"integer" (sau, p�n� la PHP 4.2.0, "int")
</simpara>
</listitem>
<listitem>
<simpara>
"float" (disponibil �ncep�nd cu PHP 4.2.0, pentru versiunile anterioare
se folose�te varianta �nvechit� "double")
</simpara>
</listitem>
<listitem>
<simpara>
"string"
</simpara>
</listitem>
<listitem>
<simpara>
"array"
</simpara>
</listitem>
<listitem>
<simpara>
"object"
</simpara>
</listitem>
<listitem>
<simpara>
"null" (�ncep�nd cu PHP 4.0.8)
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Returneaz� &true; �n cazul �n care opera�ia s-a executat cu succes,
altfel returneaz� &false;.
</para>
<para>
<example>
<title>Exemplu pentru func�ia <function>settype</function></title>
<programlisting role="php">
<![CDATA[
$foo = "5bar"; // string
$bar = true; // boolean
settype($foo, "integer"); // $foo este acum 5 (integer)
settype($bar, "string"); // $bar devine "1" (string)
]]>
</programlisting>
</example>
</para>
<para>
Mai consulta�i <function>gettype</function>,
<link linkend="language.types.typecasting">Conversia tipurilor</link> �i
<link linkend="language.types.type-juggling">Tipuri de date</link>.
</para>
</refsect1>
</refentry>
<refentry id="function.strval">
<refnamediv>
<refname>strval</refname>
<refpurpose>Returneaz� valoarea ca �ir de caractere a unei variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>string</type><methodname>strval</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
Returneaz� valoarea ca �ir de caractere a parametrului <parameter>var</parameter>.
Consulta�i documenta�ia tipului <type>string</type> pentru mai multe informa�ii
legate de conversia la �iruri de caractere.
</simpara>
<simpara>
<parameter>var</parameter> poate fi orice tip scalar. Nu se poate folosi
<function>strval</function> pentru tablouri �i obiecte.
</simpara>
<simpara>
Mai consulta�i <function>floatval</function>,
<function>intval</function>, <function>settype</function> �i
<link linkend="language.types.type-juggling">Tipuri de date</link>.
</simpara>
</refsect1>
</refentry>
<refentry id="function.unserialize">
<refnamediv>
<refname>unserialize</refname>
<refpurpose>
Creeaz� o variabil� PHP dintr-o reprezentare liniar�
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>mixed</type><methodname>unserialize</methodname>
<methodparam><type>string</type><parameter>str</parameter></methodparam>
</methodsynopsis>
<simpara>
<function>unserialize</function> prime�te ca parametru o singur� variabil�
liniarizat� (vezi <function>serialize</function>) �i o converte�te
"�napoi" �ntr-o variabil� PHP. Este returnat� valoarea convertit�, care poate
s� aib� tipurile <type>integer</type>, <type>float</type>,
<type>string</type>, <type>array</type> sau <type>object</type>.
Dac� a fost liniarizat un obiect, metodele nu sunt re�inute �n valoarea returnat�.
</simpara>
<note>
<para>
Este posibil� setarea unei func�ii callback ce va fi apelat�
dac� o clas� nedefinit� trebuie instan�iat� �n timpul conversiei din
forma liniar� (pentru a preveni preluarea incomplet� a unui <type>object</type>).
Se poate folosi php.ini, <function>ini_set</function> sau un fisier .htaccess
pentru a defini 'unserialize_callback_func'.
De c�te ori o clas� trebuie instan�iat�, se va apela aceast� func�ie.
Pentru a dezactiva aceast� facilitate, trebuie doar s� �terge�i aceast�
variabil� global�.
</para>
</note>
<para>
<example>
<title>Exemplu unserialize_callback_func</title>
<programlisting role="php">
<![CDATA[
$serialized_object='O:1:"a":1:{s:7:"valoare";s:3:"100";}';
ini_set('unserialize_callback_func','mycallback'); // seteaz� callback_function
function mycallback($classname) {
// include�i fi�ierul care con�ine defini�ia clasei
// se folose�te $classname pentru a decide ce defini�ie de clas� este vizat�
}
]]>
</programlisting>
</example>
</para>
<note>
<para>
�n PHP 3, metodele nu sunt p�strate c�nd se folose�te unserialize pentru un
obiect.
PHP 4 elimin� aceast� limitare �i restaureaz� st�t propriet��ile c�t �i metodele.
Consulta�i sec�iunea <link linkend="language.oop.serialization">Serializarea
obiectelor</link> a capitolului <link linkend="language.oop">Clase �i
obiecte</link>
pentru mai multe informa�ii.
</para>
</note>
<para>
<example>
<title>Exemplu pentru <function>unserialize</function></title>
<programlisting role="php">
<![CDATA[
// Aici se folose�te unserialize() pentru a �nc�rca datele unei sesiuni
// dintr-o baz� de date �n $session_data. Acest exemplu este complementar
// celui pentru func�ia <function>serialize</function>.
$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array ($PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata) || !odbc_fetch_into ($stmt, &$tmp)) {
// se ini�ializeaz� cu tablou vid �n cazul in care execute sau fetch nu
func�ioneaz�
$session_data = array();
} else {
// acum datele liniarizate sunt �n $tmp[0].
$session_data = unserialize ($tmp[0]);
if (!is_array ($session_data)) {
// dac� ceva nu merge cum trebuie, se ini�ializeaz� cu tablou vid
$session_data = array();
}
}
]]>
</programlisting>
</example>
</para>
<para>
Mai consulta�i: <function>serialize</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.unset">
<refnamediv>
<refname>unset</refname>
<refpurpose>�terge variabilele date</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>void</type><methodname>unset</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>unset</function> distruge variabilele specificate. de notat c� �n PHP 3,
<function>unset</function> returneaz� �ntotdeauna &true;
(de fapt valoarea �ntreag� 1). �n PHP 4,
<function>unset</function> nu mai este o func�ie, ci o instruc�iune.
De aceea, �ncercarea de a atribui unei variabile valoarea returnat� de
<function>unset</function> se va solda cu eroare gramatical� (parse error).
</para>
<para>
<example>
<title>Exemplu pentru <function>unset</function></title>
<programlisting role="php">
<![CDATA[
// distruge o singur� variabil�
unset ($foo);
// distruge un singur element al unui tablou
unset ($bar['quux']);
// distruge mai multe variabile
unset ($foo1, $foo2, $foo3);
]]>
</programlisting>
</example>
</para>
<para>
Comportamentul <function>unset</function> �n interiorul unei func�ii
poate s� varieze �n func�ie de ce anume se dore�te a fi distrus.
</para>
<para>
Dac� se aplic� <function>unset</function> pe o variabil� global�
�n interiorul unei func�ii, doar variabila local� va fi �tears�.
Valoarea variabilei globale va fi aceea�i dup� ce iese din mediul
func�iei.
<informalexample>
<programlisting role="php">
<![CDATA[
function destroy_foo() {
global $foo;
unset($foo);
}
$foo = 'bar';
destroy_foo();
echo $foo;
]]>
</programlisting>
</informalexample>
Exemplul de mai sus va afi�a:
<informalexample>
<screen>
<![CDATA[
bar
]]>
</screen>
</informalexample>
</para>
<para>
De asemenea, �i dac� o variabil� este transmis� prin referin��,
va fi distrus� doar variabila din interiorul func�iei.
<informalexample>
<programlisting role="php">
<![CDATA[
function foo(&$bar) {
unset($bar);
$bar = "blah";
}
$bar = 'something';
echo "$bar\n";
foo($bar);
echo "$bar\n";
]]>
</programlisting>
</informalexample>
Exemplul de mai sus va afi�a:
<informalexample>
<screen>
<![CDATA[
something
something
]]>
</screen>
</informalexample>
</para>
<para>
Dac� o variabil� static� este distrus� �n interiorul unei func�ii,
vor fi distruse toate variabilele �i referin�ele lor.
<informalexample>
<programlisting role="php">
<![CDATA[
function foo() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
foo();
foo();
foo();
]]>
</programlisting>
</informalexample>
Exemplul de mai sus va afi�a:
<informalexample>
<screen>
<![CDATA[
1
2
3
]]>
</screen>
</informalexample>
</para>
<para>
Dac� dori�i s� distruge�i o variabil� global� �n interiorul unei func�ii,
pute�i folosi tabloul <parameter>$GLOBALS</parameter>:
<informalexample>
<programlisting role="php">
<![CDATA[
function foo() {
unset($GLOBALS['bar']);
}
$bar = "something";
foo();
]]>
</programlisting>
</informalexample>
</para>
<note>
<para>
<function>unset</function> este o construc�ie de limbaj.
</para>
</note>
<para>
Mai consulta�i <function>isset</function> �i
<function>empty</function>.
</para>
</refsect1>
</refentry>
<refentry id="function.var-dump">
<refnamediv>
<refname>var_dump</refname>
<refpurpose>Afi�eaz� informa�ii despre o variabil�</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>void</type><methodname>var_dump</methodname>
<methodparam><type>mixed</type><parameter>expression</parameter></methodparam>
<methodparam
choice="opt"><type>mixed</type><parameter>expression</parameter></methodparam>
<methodparam choice="opt"><parameter>...</parameter></methodparam>
</methodsynopsis>
<simpara>
Aceast� func�ie afi�eaz� o informa�ie structurat� despre una sau mai multe
variabile. Tablourile sunt explorate recursiv pentru a afi�a valorile
�n aceast� structur�.
</simpara>
&tip.ob-capture;
<simpara>
Compara�i <function>var_dump</function> cu
<function>print_r</function>.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<pre>
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
/* afi�eaz�:
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}
*/
$b = 3.1; $c = TRUE;
var_dump($b,$c);
/* afi�eaz�:
float(3.1)
bool(true)
*/
?>;
</pre>
]]>
</programlisting>
</informalexample>
</para>
</refsect1>
</refentry>
<refentry id="function.var-export">
<refnamediv>
<refname>var_export</refname>
<refpurpose>Afi�eaz� o reprezentare ca �ir de caractere a unei
variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>mixed</type><methodname>var_export</methodname>
<methodparam><type>mixed</type><parameter>expression</parameter></methodparam>
<methodparam
choice="opt"><type>bool</type><parameter>return</parameter></methodparam>
</methodsynopsis>
<simpara>
Aceast� func�ie returneaz� o informa�ie structurat� despre o variabil�.
Este similar� func�iei <function>var_dump</function>, cu excep�ia faptului
c� reprezentarea returnat� este un cod PHP valid.
</simpara>
<simpara>
Dac� se folose�te cel de-al doilea parametru optional cu valoarea &true;
se poate returna aceast� reprezentare pentru a fi atribuit� unei variabile.
</simpara>
<simpara>
Compara�i <function>var_export</function> cu
<function>var_dump</function>.
</simpara>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
$a = array (1, 2, array ("a", "b", "c"));
var_export ($a);
/* afi�eaz�:
array (
0 => 1,
1 => 2,
2 =>
array (
0 => 'a',
1 => 'b',
2 => 'c',
),
)
*/
$b = 3.1;
$v = var_export($b, TRUE);
echo $v;
/* afi�eaz�:
3.1
*/
]]>
</programlisting>
</informalexample>
</para>
</refsect1>
</refentry>
<refentry id='function.is-callable'>
<refnamediv>
<refname>is_callable</refname>
<refpurpose>
Decide dac� argumentul este o construc�ie apelabil�
</refpurpose>
</refnamediv>
<refsect1>
<title>Descriere</title>
<methodsynopsis>
<type>bool</type><methodname>is_callable</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam
choice="opt"><type>bool</type><parameter>syntax_only</parameter></methodparam>
<methodparam
choice="opt"><type>string</type><parameter>callable_name</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
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
-->