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
-->

Reply via email to