cortesi Thu Mar 28 08:27:53 2002 EDT
Modified files:
/phpdoc/it/functions var.xml
Log:
updating: translation by Darvin Andrioli
Index: phpdoc/it/functions/var.xml
diff -u phpdoc/it/functions/var.xml:1.15 phpdoc/it/functions/var.xml:1.16
--- phpdoc/it/functions/var.xml:1.15 Sat Feb 2 10:41:57 2002
+++ phpdoc/it/functions/var.xml Thu Mar 28 08:27:53 2002
@@ -1,62 +1,68 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- EN-Revision: 1.23 Maintainer: marchesini Status: ready -->
+<!-- EN-Revision: 1.99 Maintainer: darvin Status: ready -->
<reference id="ref.variables">
<title>Funzioni di Variabili</title>
<titleabbrev>Variabili</titleabbrev>
+ <partintro>
+ <para>
+ Per maggiori informazioni sul comportamento delle variabili vedere
+ la sezione <link linkend="language.variables">Variabili</link> nel capitolo
+ <link linkend="langref">Riferimento al Linguaggio</link> del manuale.
+ </para>
+ </partintro>
<refentry id="function.doubleval">
<refnamediv>
<refname>doubleval</refname>
- <refpurpose>Estrae il valore numerico a virgola mobile (double) da una
variabile</refpurpose>
+ <refpurpose>Alias di <function>floatval</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
- <methodsynopsis>
- <type>double</type><methodname>doubleval</methodname>
- <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
- </methodsynopsis>
- <simpara>
- Estrae il valore numerico a virgola mobile (double) da
- <parameter>var</parameter>.
- </simpara>
<para>
- <parameter>Var</parameter> pu� essere una qualsiasi variabile scalare. Non �
possibile usare
- <function>doubleval</function> con array o oggetti.
- <informalexample>
- <programlisting role="php">
-$var = '122.34343pippo';
-$double_value_di_var = doubleval ($var);
-print double_value_di_var; // visualizza 122.34343
- </programlisting>
- </informalexample>
+ Questa funzione � un alias di <function>floatval</function>.
</para>
- <simpara>
- Si veda anche <function>intval</function>,
- <function>strval</function>, <function>settype</function> e
- <link linkend="language.types.type-juggling">Type
- juggling</link>.
- </simpara>
+ <note>
+ <para>
+ Questo alias � una rimanenza dalla ridenominazione di alcune funzioni. Nelle
+ vecchie versioni di PHP, occorre utilizzare questo alias al posto della funzione
+ <function>floatval</function>, questo perch� la suddetta funzione non era
+ disponibile.
+ </para>
+ </note>
</refsect1>
</refentry>
<refentry id="function.empty">
<refnamediv>
<refname>empty</refname>
- <refpurpose>Determina se una variabile � vuota, nulla o indefinita</refpurpose>
+ <refpurpose>Determina se una variabile � valorizzata</refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>empty</methodname>
+ <type>boolean</type><methodname>empty</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
+ <note>
+ <para>
+ <function>empty</function> � un costrutto del linguaggio.
+ </para>
+ </note>
<para>
- Restituisce &false; se <parameter>var</parameter> � definita ed ha un valore non
vuoto
- e non uguale a zero; altrimenti restituisce &true;.
+ Questo � l'opposto di
+ <literal>(boolean) <parameter>var</parameter></literal>, tranne che
+ non viene dato alcun warning quando la variabile non � valorizzata.
+ Vedere il capitolo <link linkend="language.types.boolean.casting">Conversione a
+ booleano</link> per maggiori informazioni.
+ </para>
+
+ <!-- Restituisce &false; se <parameter>var</parameter> � definita ed ha un
+valore non vuoto
+ e non uguale a zero; altrimenti restituisce &true;. -->
+
<informalexample>
<programlisting role="php">
$var = 0;
-if (empty($var)) { #restituisce true
+if (empty($var)) { // restituisce true
print '$var � uguale a 0 oppure non � definita';
}
if (!isset($var)) { // restituisce false
@@ -64,20 +70,57 @@
}
</programlisting>
</informalexample>
- </para>
+
<simpara>
Si noti che la funzione perde di significato se applicata a qualcosa che non sia
una
- variabile; ad.es. <command>empty (addslashes ($name))</command> non ha
significato
+ variabile; ad esempio <command>empty (addslashes ($name))</command> non ha
+significato
perch� tenta di verificare se un qualcosa che non � una variabile � una
variabile
- con un valore nullo.
+ con un valore &false;.
+ <!-- potr� generare un errore di parsing (almeno in PHP 4) -->
</simpara>
<simpara>
- Si veda anche <function>isset</function> e
+ Vedere anche <function>isset</function> e
<function>unset</function>.
</simpara>
</refsect1>
</refentry>
+ <refentry id="function.floatval">
+ <refnamediv>
+ <refname>floatval</refname>
+ <refpurpose>Restituisce il valore di una variabile di tipo float</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>float</type><methodname>floatval</methodname>
+ <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ La funzione restituisce il valore di tipo <type>float</type> di
+<parameter>var</parameter>.
+ </simpara>
+ <para>
+ La variabile <parameter>Var</parameter> pu� anche essere di tipo scalare. La
+funzione
+ <function>floatval</function> non pu� essere usata con variabili di tipo array
+oppure object.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+$var = '122.34343The';
+$valore_float_di_var = floatval ($var);
+print $valore_float_di_var; // visualizza 122.34343
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <simpara>
+ Vedere anche <function>intval</function>,
+ <function>strval</function>, <function>settype</function> e
+ <link linkend="language.types.type-juggling">Manipolazione dei Tipi
+ </link>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
<refentry id="function.gettype">
<refnamediv>
<refname>gettype</refname>
@@ -90,38 +133,222 @@
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Resituisce il tipo della variabile PHP
+ Restituisce il tipo della variabile PHP
<parameter>var</parameter>.
</para>
+ <warning>
+ <simpara>
+ Non utilizzare <function>gettype</function> per testare certi tipi di variabili
+ poich� la stringa restistuita potrebbe variare nelle versioni future.
+ Inoltre questa funzione � lenta dato che richiede confronti tra stringhe <!--
+ where's my dictionary? -->.
+ </simpara>
+ <simpara>
+ Piuttosto utilizzare le funzioni <literal>is_*</literal>.
+ </simpara>
+ </warning>
<para>
La stringa restituita pu� assumere i seguenti valori:
<itemizedlist>
<listitem>
- <simpara>"integer"</simpara>
+ <simpara>"<type>boolean</type>" (dalla versione 4 di PHP)</simpara>
+ </listitem>
+ <listitem>
+ <simpara>"<type>integer</type>"</simpara>
+ </listitem>
+ <listitem>
+ <simpara>"<type>double</type>" (per ragioni storiche viene restituito
+ "double" in caso di variabile di tipo <type>float</type>, e non
+ semplicemente "float")</simpara>
</listitem>
<listitem>
- <simpara>"double"</simpara>
+ <simpara>"<type>string</type>"</simpara>
</listitem>
<listitem>
- <simpara>"string"</simpara>
+ <simpara>"<type>array</type>"</simpara>
</listitem>
<listitem>
- <simpara>"array"</simpara>
+ <simpara>"<type>object</type>"</simpara>
</listitem>
<listitem>
- <simpara>"object"</simpara>
+ <simpara>"<type>resource</type>" (dalla versione 4 di PHP)</simpara>
</listitem>
<listitem>
- <simpara>"unknown type"</simpara>
+ <simpara>"<type>NULL</type>" (dalla versione 4 di PHP)</simpara>
+ </listitem>
+ <listitem>
+ <simpara>"user function" (soltanto in PHP 3, deprecated)</simpara>
+ </listitem>
+ <listitem>
+ <simpara>"unknown type"<!-- someone's joking? --></simpara>
</listitem>
</itemizedlist>
</para>
<para>
- Si veda anche <function>settype</function>.
+ Nella versione 4 di PHP si dovrebbe applicare alle funzioni
+ <function>function_exists</function> o <function>method_exists</function>
+ al posto del precedente <function>gettype</function>.
+ </para>
+ <para>
+ Vedere anche
+ <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> e
+ <function>is_string</function>.
</para>
</refsect1>
</refentry>
+ <refentry id="function.get-defined-vars">
+ <refnamediv>
+ <refname>get_defined_vars</refname>
+ <refpurpose>
+ Restituisce un'array contenente tutte le variabili definite
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>array</type><methodname>get_defined_vars</methodname>
+ <void/>
+ </methodsynopsis>
+ <para>
+ Questa funzione restituisce un'array multidimensionale contenente la lista
+ di tutte le variabili definite, siano esse d'ambiente, variabili del server
+ o definite dall'utente.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+$b = array(1,1,2,3,5,8);
+
+$arr = get_defined_vars();
+
+// visualizza $b
+print_r($arr["b"]);
+
+// visualizza il percorso dell'interprete PHP (se usato come CGI)
+// ad esempio /usr/local/bin/php
+echo $arr["_"];
+
+// visualizza i parametri della linea di comando (se presenti)
+print_r($arr["argv"]);
+
+// visualizza tutte le variabili del server
+print_r($arr["HTTP_SERVER_VARS"]);
+
+// visualizza tutte le chiavi disponibili nell'array delle variabili
+print_r(array_keys(get_defined_vars()));
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Vedere anche <function>get_defined_functions</function> e
+ <function>get_defined_constants</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.get-resource-type">
+ <refnamediv>
+ <refname>get_resource_type</refname>
+ <refpurpose>
+ Restituisce il tipo di risorsa
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>string</type><methodname>get_resource_type</methodname>
+ <methodparam><type>resource</type><parameter>handle</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ Questa funzione restituisce una stringa rappresentante il tipo di
+ risorsa passato. Se il parametro passato non � una
+ risorsa valida la funzione genera un
+ errore.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+$c = mysql_connect();
+echo get_resource_type($c)."\n";
+// visualizza: mysql link
+
+$fp = fopen("foo","w");
+echo get_resource_type($fp)."\n";
+// visualizza: file
+
+$doc = new_xmldoc("1.0");
+echo get_resource_type($doc->doc)."\n";
+// visualizza: domxml document
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.import-request-variables">
+ <refnamediv>
+ <refname>import_request_variables</refname>
+ <refpurpose>Imposta la visibilt� a globale per le variabili
+GET/POST/Cookie</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>bool</type><methodname>import_request_variables</methodname>
+ <methodparam><type>string</type><parameter>tipo</parameter></methodparam>
+ <methodparam
+choice="opt"><type>string</type><parameter>prefisso</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ Imposta la visibilit� delle variabili GET/POST/Cookie a globale.
+ Ci� risulta utile nei casi in cui si � disabilitato
+ <link linkend="ini.register-globals">register_globals</link>,
+ ma si vuole avere per qualche variabile una visibilit� globale.
+ </simpara>
+ <simpara>
+ Tramite il parametro <parameter>tipo</parameter>, si pu�
+ specificare quale variabile rendere visibile. I valori ammessi sono
+ i caratteri 'G', 'P' e 'C' rispettivamente per GET, POST e
+ Cookie. Questi caratteri non distinguono tra maiuscole e minuscole
+ pertanto si pu� usare qualsiasi combinazione di 'g', 'p' e 'c'.
+ Occorre prestare attenzione all'ordine delle lettere, ad esempio usando "gp",
+ le variabili POST sovrascrivono le variabili GET con il medesimo
+ nome. Qualsiasi altra lettera al di fuori di GPC sar� scartata.
+ </simpara>
+ <note>
+ <para>
+ Sebbene il parametro <parameter>prefisso</parameter> sia
+ opzionale, si ottiene un errore di livello "notice" se non
+ si specifica il prefisso, o si indica una stringa vuota.
+ Ci� pu� comportare dei rischi di sicurezza. Gli errori
+ di livello "notice" non sono visualizzati con la soglia
+ minima di errore standard.
+ </para>
+ </note>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+// Questo esempio rende visibili le variabili GET e POST
+// con il prefisso "rvar_"
+import_request_variables("gP", "rvar_");
+]]>
+ </programlisting>
+ </informalexample>
+ <simpara>
+ Vedere anche <link linkend="ini.register-globals">register_globals</link>
+ e <link linkend="ini.track-vars">track_vars</link>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
<refentry id="function.intval">
<refnamediv>
<refname>intval</refname>
@@ -140,10 +367,17 @@
</simpara>
<simpara>
<parameter>Var</parameter> pu� essere una qualsiasi variabile scalare. Non �
possibile utilizzare
- <function>intval</function> con array oppure oggetti.
+ <function>intval</function> con variabili di tipo <type>array</type> o
+<type>object</type>.
</simpara>
+ <note>
+ <para>
+ Il parametro <parameter>base</parameter> di
+ <function>intval</function> non ha effetto se
+ <parameter>var</parameter> non � una stringa.
+ </para>
+ </note>
<simpara>
- Si veda anche <function>doubleval</function>,
+ Vedere anche <function>doubleval</function>,
<function>strval</function>, <function>settype</function> e
<link linkend="language.types.type-juggling">Manipolazione dei Tipi</link>.
</simpara>
@@ -158,7 +392,7 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_array</methodname>
+ <type>bool</type><methodname>is_array</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
@@ -166,13 +400,11 @@
in caso contrario.
</para>
<para>
- Si veda anche <function>is_double</function>,
+ Vedere anche
<function>is_float</function>,
<function>is_int</function>,
<function>is_integer</function>,
- <function>is_real</function>,
- <function>is_string</function>,
- <function>is_long</function>, e
+ <function>is_string</function> e
<function>is_object</function>.
</para>
</refsect1>
@@ -188,22 +420,20 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_bool</methodname>
+ <type>bool</type><methodname>is_bool</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
Restituisce &true; se <parameter>var</parameter> �
- di tipo boolean.
+ di tipo <type>boolean</type>.
</para>
<para>
- Si veda anche <function>is_array</function>,
- <function>is_double</function>,
+ Vedere anche
+ <function>is_array</function>,
<function>is_float</function>,
<function>is_int</function>,
<function>is_integer</function>,
- <function>is_real</function>,
- <function>is_string</function>,
- <function>is_long</function>, e
+ <function>is_string</function>, and
<function>is_object</function>.
</para>
</refsect1>
@@ -212,28 +442,12 @@
<refentry id="function.is-double">
<refnamediv>
<refname>is_double</refname>
- <refpurpose>Verifica se una variabile � di tipo double (decimale a virgola
mobile)</refpurpose>
+ <refpurpose>Alias di <function>is_float</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
- <methodsynopsis>
- <type>int</type><methodname>is_double</methodname>
- <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
- </methodsynopsis>
<para>
- Restituisce &true; se <parameter>var</parameter> � un decimale a virgola mobile,
- &false; in caso contrario.
- </para>
- <para>
- Si veda anche <function>is_array</function>,
- <function>is_bool</function>,
- <function>is_float</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_real</function>,
- <function>is_string</function>,
- <function>is_long</function>, e
- <function>is_object</function>.
+ Questa funzione � un alias di <function>is_float</function>.
</para>
</refsect1>
</refentry>
@@ -246,22 +460,29 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_float</methodname>
+ <type>bool</type><methodname>is_float</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
- Questa funzione � equivalente a <function>is_double</function>.
+ Questa funzione restituisce &true; se <parameter>var</parameter> � di tipo
+<type>float</type>,
+ &false; in caso contrario.
</simpara>
+ <note>
+ <para>
+ Per verificare se una variabile � un numero oppure una stringa numerica
+ (come le variabili dei form, che sono sempre stringhe) occorre usare
+ la funzione <function>is_numeric</function>.
+ </para>
+ </note>
<simpara>
- Si veda anche <function>is_double</function>,
+ Vedere anche
<function>is_bool</function>,
- <function>is_real</function>,
<function>is_int</function>,
<function>is_integer</function>,
+ <function>is_numeric</function>,
<function>is_string</function>,
+ <function>is_array</function> e
<function>is_object</function>,
- <function>is_array</function>, e
- <function>is_long</function>.
</simpara>
</refsect1>
</refentry>
@@ -274,22 +495,28 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_int</methodname>
+ <type>bool</type><methodname>is_int</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
- Questa funzione � equivalente a <function>is_long</function>.
+ Restituisce &true; se <parameter>var</parameter> � di tipo <type>integer</type>,
+ &false; in caso contrario.
</simpara>
+ <note>
+ <para>
+ Per verificare se una variabile � un numero oppure una stringa numerica
+ (come le variabili dei form, che sono sempre stringhe) occorre usare
+ la funzione <function>is_numeric</function>.
+ </para>
+ </note>
<simpara>
- Si veda anche <function>is_bool</function>,
- <function>is_double</function>,
+ Vedere anche <function>is_bool</function>,
<function>is_float</function>,
<function>is_integer</function>,
+ <function>is_numeric</function>,
<function>is_string</function>,
- <function>is_real</function>,
- <function>is_object</function>,
- <function>is_array</function>, e
- <function>is_long</function>.
+ <function>is_array</function> e
+ <function>is_object</function>.
</simpara>
</refsect1>
</refentry>
@@ -297,61 +524,59 @@
<refentry id="function.is-integer">
<refnamediv>
<refname>is_integer</refname>
- <refpurpose>Verifica se una variabile � di tipo integer</refpurpose>
+ <refpurpose>Alias di <function>is_int</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
- <methodsynopsis>
- <type>int</type><methodname>is_integer</methodname>
- <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
- </methodsynopsis>
- <simpara>
- Questa funzione � equivalente a
- <function>is_long</function>.
- </simpara>
- <simpara>
- Si veda anche <function>is_bool</function>,
- <function>is_double</function>,
- <function>is_float</function>,
- <function>is_int</function>,
- <function>is_string</function>,
- <function>is_real</function>,
- <function>is_object</function>,
- <function>is_array</function>, e
- <function>is_long</function>.
- </simpara>
+ <para>
+ Questa funzione � un alias di <function>is_int</function>.
+ </para>
</refsect1>
</refentry>
<refentry id="function.is-long">
<refnamediv>
<refname>is_long</refname>
- <refpurpose>Verifica se una variabile � di tipo integer</refpurpose>
+ <refpurpose>Alias di <function>is_int</function></refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <para>
+ Questa funzione � un alias di <function>is_int</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-null">
+ <refnamediv>
+ <refname>is_null</refname>
+ <refpurpose>
+ Verifica se la variabile � di tipo &null;
+ </refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_long</methodname>
+ <type>bool</type><methodname>is_null</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Restituisce &true; se <parameter>var</parameter> � di tipo integer (long),
+ Restituisce &true; se <parameter>var</parameter> � di tipo <type>null</type>,
&false; in caso contrario.
</para>
<para>
- Si veda anche <function>is_bool</function>,
- <function>is_double</function>,
+ Vedere anche <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>, e
- <function>is_integer</function>.
+ <function>is_object</function> e
+ <function>is_array</function>.
</para>
</refsect1>
</refentry>
+
<refentry id="function.is-numeric">
<refnamediv>
<refname>is_numeric</refname>
@@ -362,21 +587,20 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_numeric</methodname>
+ <type>bool</type><methodname>is_numeric</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Restituisce &true; se <parameter>var</parameter> � un numero o una stringa
numerica, &false; in caso contrario.
+ Restituisce &true; se <parameter>var</parameter> � un numero o una stringa
+numerica,
+ &false; in caso contrario.
</para>
<para>
- Si veda anche <function>is_bool</function>,
- <function>is_double</function>,
+ Vedere anche <function>is_bool</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>, e
+ <function>is_array</function> e
<function>is_integer</function>.
</para>
</refsect1>
@@ -385,27 +609,24 @@
<refentry id="function.is-object">
<refnamediv>
<refname>is_object</refname>
- <refpurpose>Verifica se una variabile � un Oggetto</refpurpose>
+ <refpurpose>Verifica se una variabile � di tipo object</refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_object</methodname>
+ <type>bool</type><methodname>is_object</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Restituisce &true; se <parameter>var</parameter> � un oggetto, &false;
+ Restituisce &true; se <parameter>var</parameter> � un di tipo
+<type>object</type>, &false;
in caso contrario.
</para>
<para>
- Si veda anche <function>is_bool</function>,
- <function>is_long</function>,
+ Vedere anche <function>is_bool</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_float</function>,
- <function>is_double</function>,
- <function>is_real</function>,
- <function>is_string</function>, e
+ <function>is_string</function>, and
<function>is_array</function>.
</para>
</refsect1>
@@ -414,28 +635,13 @@
<refentry id="function.is-real">
<refnamediv>
<refname>is_real</refname>
- <refpurpose>Verifica se una variabile � di tipo real (decimale a virgola
mobile)</refpurpose>
+ <refpurpose>Alias di <function>is_float</function></refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
- <methodsynopsis>
- <type>int</type><methodname>is_real</methodname>
- <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
- </methodsynopsis>
- <simpara>
- Questa funzione � equivalente a <function>is_double</function>.
- </simpara>
- <simpara>
- Si veda anche <function>is_bool</function>,
- <function>is_long</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_float</function>,
- <function>is_double</function>,
- <function>is_object</function>,
- <function>is_string</function>, e
- <function>is_array</function>.
- </simpara>
+ <para>
+ Questa funzione � un alias di <function>is_float</function>.
+ </para>
</refsect1>
</refentry>
@@ -449,23 +655,99 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_resource</methodname>
+ <type>bool</type><methodname>is_resource</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
<function>is_resource</function> restituisce &true; se la variabile
- individuata dal parametro <parameter>var</parameter> � una risorsa,
+ individuata dal parametro <parameter>var</parameter> � di tipo
+<type>resource</type>,
altrimenti restituisce &false;.
</para>
<para>
- Il termine risorse fa riferimento a cose come gli handle a un file o al
risultato di
- una query su di un database. Questi handle sono normalmente allocati e liberati
da
- funzioni interne di PHP ma pu� verificarsi la necessit� di ripulirle se non
vengono
- pi� utilizzate ma non sono ancora state liberate dal codice del programma.
+ Per maggiori dettagli fare riferimento alla documentazione di
+ <type>resource</type>-type
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.is-scalar">
+ <refnamediv>
+ <refname>is_scalar</refname>
+ <refpurpose>
+ Verifica se la variabile � di tipo scalare
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>bool</type><methodname>is_scalar</methodname>
+ <methodparam><type>mixed</type><parameter>var</parameter></methodparam>
+ </methodsynopsis>
+ <para>
+ La funzione <function>is_scalar</function> restituisce &true; se la variabile
+ indicata dal parametro <parameter>var</parameter> � di tipo scalare,
+ in caso contrario restituisce &false;.
+ </para>
+ <para>
+ Le variabili scalari sono quelle contenenti valori di tipo <type>integer</type>,
+ <type>float</type>, <type>string</type> oppure <type>boolean</type>.
+ I tipi <type>array</type>, <type>object</type> e <type>resource</type>
+ non sono scalari.
+ <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);
+// visualizza: 3.1416
+
+show_var($proteins)
+// visualizza:
+// array(3) {
+// [0]=>
+// string(10) "hemoglobin"
+// [1]=>
+// string(20) "cytochrome c oxidase"
+// [2]=>
+// string(10) "ferredoxin"
+// }
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <note>
+ <para>
+ La funzione <function>is_scalar</function> non considera il tipo
+<type>resource</type>
+ come valore scalare, dato che il tipo <type>resource</type> � una tipologia di
+dato astratto
+ che attualmente si basa su interi. Tuttavia non ci si pu� basare su questo
+ tipo di implementazione, in futuro potrebbe cambiare.
+ </para>
+ </note>
+ <para>
+ Vedere anche <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> e
+ <function>is_integer</function>.
</para>
</refsect1>
</refentry>
+
<refentry id="function.is-string">
<refnamediv>
<refname>is_string</refname>
@@ -474,22 +756,20 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>is_string</methodname>
+ <type>bool</type><methodname>is_string</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<para>
- Restituisce &true; se <parameter>var</parameter> � una stringa,
+ Restituisce &true; se <parameter>var</parameter> � di tipo <type>string</type>,
&false; in caso contrario.
</para>
<para>
- Si veda anche <function>is_bool</function>,
- <function>is_long</function>,
+ Vedere anche <function>is_bool</function>,
<function>is_int</function>,
<function>is_integer</function>,
<function>is_float</function>,
- <function>is_double</function>,
<function>is_real</function>,
- <function>is_object</function>, e
+ <function>is_object</function> e
<function>is_array</function>.
</para>
</refsect1>
@@ -503,7 +783,7 @@
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>isset</methodname>
+ <type>boolean</type><methodname>isset</methodname>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
</methodsynopsis>
<simpara>
@@ -511,19 +791,34 @@
&false; in caso contrario.
</simpara>
<para>
- Se una variabile � stata ripulita con <function>unset</function>,
- non potr� essere <function>isset</function>.
+ Se una variabile � stata cancellata con <function>unset</function>,
+ non potr� essere <function>isset</function>. La funzione
+<function>isset</function>
+ restituir� &false; se viene utilizzata per testare una variabile valorizzata
+ a &null;. Inoltre occorre notare che il byte &null; (<literal>"\0"</literal>)
+ non equivale alla costante PHP &null;.
<informalexample>
<programlisting role="php">
+<![CDATA[
$a = "test";
-echo isset ($a); // true
+$b = "anothertest";
+
+echo isset ($a); // TRUE
+echo isset ($a, $b) //TRUE
+
unset ($a);
-echo isset ($a); // false
+echo isset ($a); // FALSE
+echo isset ($a, $b); //FALSE
+
+$foo = NULL;
+print isset ($foo); // FALSE
+
+
+]]>
</programlisting>
</informalexample>
</para>
<simpara>
- Si veda anche <function>empty</function> e
+ Vedere anche <function>empty</function> e
<function>unset</function>.
</simpara>
</refsect1>
@@ -545,34 +840,147 @@
<simpara>
Questa funzione stampa delle informazioni sul contenuto di una variabile in un
formato
facilmente leggibile. Se la variabile contiene una stringa, un intero o un
numero decimale,
- il valore stesso viene visualizzato. Se la variabile contiene un vettore (array)
i valori
+ il valore stesso viene visualizzato. Se la variabile contiene un array i valori
vengono visualizzati in un formato che evidenzia le chiavi ed i relativi
elementi. Una notazione
simile viene utilizzata per gli oggetti.
</simpara>
<simpara>
- Si confronti <function>print_r</function> e
- <function>var_dump</function>.
+ Occorre ricordarsi che <function>print_r</function> posiziona il puntatore
+ dell'array alla fine. Pertanto utilizzare <function>reset</function> per
+ riportarsi all'inizio.
</simpara>
+ &tip.ob-capture;
<para>
<informalexample>
<programlisting role="php">
-<?php
-$a = array (1, 2, array ("a", "b", "c"));
-print_r ($a);
+<![CDATA[
+<pre>
+<?php
+ $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
+ print_r ($a);
?>
+</pre>
+]]>
</programlisting>
</informalexample>
</para>
- <warning>
- <para>
+ <para>
+ Il precedente esempio visualizzer�:
+ <screen>
+<![CDATA[
+<pre>
+Array
+(
+ [a] => apple
+ [b] => banana
+ [c] => Array
+ (
+ [0] => x
+ [1] => y
+ [2] => z
+ )
+)
+</pre>
+]]>
+ </screen>
+ </para>
+ <note>
+ <simpara>
Questa funzione continua all'infinito se riceve come parametro un vettore o un
oggetto
- contenente una referenza diretta o indiretta a se stesso oppure contenente
ulteriori
+ contenente un riferimento diretto od indiretto a se stesso oppure contenente
+ulteriori
vettori o oggetti che a loro volta referenziano il padre o se stessi.
Un caso evidente � <literal>print_r($GLOBALS)</literal>,
in quanto <literal>$GLOBALS</literal> � a sua volta una variabile globale e in
quanto tale
contiene una referenza a se stessa.
- </para>
- </warning>
+ </simpara>
+ </note>
+ <simpara>
+ Vedere anche <function>ob_start</function>, <function>var_dump</function>
+ e <function>var_export</function>.
+ </simpara>
+
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.serialize">
+ <refnamediv>
+ <refname>serialize</refname>
+ <refpurpose>
+ Genera una versione archiviabile del valore
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>string</type><methodname>serialize</methodname>
+ <methodparam><type>mixed</type><parameter>value</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ La funzione <function>serialize</function> restituisce una stringa contenente
+ un flusso di bytes rappresentante <parameter>value</parameter> che
+ possa essere archiviato ovunque.
+ </simpara>
+ <simpara>
+ Questo pu� essere utile per archiviare o passare valori senza
+ perdere il tipo e la struttura.
+ </simpara>
+ <simpara>
+ Per ottenere il valore dalla stringa serializzata, utilizzare
+ la funzione <function>unserialize</function>. La funzione
+<function>serialize</function>
+ gestisce tutti i tipi di variabili tranne il tipo <type>resource</type>.
+ Possono essere elaborati da <function>serialize</function> array che
+ contengano riferimenti a se stessi. Saranno archiviati anche i riferimenti
+ interni agli array e ai tipi object passati a <function>serialize</function>
+ </simpara>
+ <!-- TODO
+ in 4.0.4pl1 this didn't work properly, however, there
+ been some fixes. I don't know whether this all
+ works correctly now, and if so, whether it is since 405
+ or 406
+ <note>
+ <simpara>
+ This didn't work correctly until 4.0.?
+ </simpara>
+ </note>
+ </simpara>
+ -->
+ <note>
+ <para>
+ Nella versione 3 di PHP si serializzano le propriet� dell'oggetto,
+ ma non i metodi. Nella versione 4 viene superata questa limitazione e possono
+ essere recuperati sia le propriet� sia i metodi. Per maggiori informazioni
+ vedere la sezione <link
+ linkend="language.oop.serialization">Serializzare oggetti</link> in
+ <link linkend="language.oop">Oggetti e Classi</link>.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title>Esempio di <function>serialize</function></title>
+ <programlisting role="php">
+<![CDATA[
+// L'array multi-dimensionale $session_data contiene le informazioni della sessione
+// per l'utente. Si user� serialize() per memorizzare le informazioni
+// all'interno di un database alla fine della richiesta..
+
+$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)) {
+ /* Qualcosa � andato storto */
+ }
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedere anche: <function>unserialize</function>.
+ </para>
</refsect1>
</refentry>
@@ -584,8 +992,8 @@
<refsect1>
<title>Descrizione</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>
@@ -595,18 +1003,66 @@
<para>
Valori possibili di <parameter>type</parameter> sono:
<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" (oppure, da PHP 4.2.0, "bool")
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "integer" (uppure, da PHP 4.2.0, "int")
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "float" (soltanto a partire dalla versione 4.2.0 di PHP, per le versioni
+precedenti usare
+ "double", deprecated)
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "string"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "array"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "object"
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ "null" (dalla versione PHP 4.0.8)
+ </simpara>
+ </listitem>
</itemizedlist>
</para>
<para>
- Restituisce &true; se l'operazione ha successo; in caso contrario resituisce
&false;.
+ Restituisce &true; se l'operazione ha successo; in caso contrario
+ resituisce &false;.
+ </para>
+ <para>
+ <example>
+ <title>Esempio di utilizzo di <function>settype</function></title>
+ <programlisting role="php">
+<![CDATA[
+$foo = "5bar"; // string
+$bar = true; // boolean
+
+settype($foo, "integer"); // $foo ora � 5 (integer)
+settype($bar, "string"); // $bar ora � "1" (string)
+]]>
+ </programlisting>
+ </example>
</para>
<para>
- Si veda anche <function>gettype</function>.
+ Vedere anche <function>gettype</function>,
+ <link linkend="language.types.typecasting">Casting del tipo</link> e
+ <link linkend="language.types.type-juggling">Manipolazione del tipo</link>.
</para>
</refsect1>
</refentry>
@@ -624,46 +1080,275 @@
</methodsynopsis>
<simpara>
Restituisce il valore di <parameter>var</parameter> interpretato come stringa.
+ Per maggiori informazioni sulla conversione a stringa, vedere la documentazione
+ relativa alle variabili di tipo <type>string</type>.
</simpara>
<simpara>
<parameter>var</parameter> pu� essere una qualsiasi variabile scalare. Non �
possibile usare
<function>strval</function> con array o oggetti.
</simpara>
<simpara>
- Si veda anche <function>doubleval</function>,
+ Vedere anche <function>floatval</function>,
<function>intval</function>, <function>settype</function> e
- <link linkend="language.types.type-juggling">Type
- juggling</link>.
+ <link linkend="language.types.type-juggling">Manipolazione del
+ tipo</link>.
</simpara>
</refsect1>
</refentry>
+
+ <refentry id="function.unserialize">
+ <refnamediv>
+ <refname>unserialize</refname>
+ <refpurpose>
+ Crea un valore PHP a partire da una rappresentazione archiviata
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</title>
+ <methodsynopsis>
+ <type>mixed</type><methodname>unserialize</methodname>
+ <methodparam><type>string</type><parameter>str</parameter></methodparam>
+ </methodsynopsis>
+ <simpara>
+ La funzione <function>unserialize</function> prende il formato serializzato di
+ una variabile (vedere <function>serialize</function>) e la riporta
+ a valore PHP. La funzione restituisce il valore ottenuto, che pu� essere
+ di tipo <type>integer</type>, <type>float</type>,
+ <type>string</type>, <type>array</type> oppure <type>object</type>.
+ Se � stato serializzato un oggetto, il valore restituito non conserva
+ i metodi.
+ </simpara>
+ <note>
+ <para>
+ E' possibile impostare una funzione di callback che possa essere richiamata
+ se, durante la fase di deserializzazione, occorre istanziare una classe
+indefinita.
+ (per evitare di ottenere un tipo <type>object</type> incompleto
+"__PHP_Incomplete_Class".)
+ Per definire il parametro 'unserialize_callback_func' si pu� agire sul
+ php.ini, o usare <function>ini_set</function> oppure con .htaccess-file
+ Verr� utilizzata questa funzione ogni volta che occorre istanziare una classe
+indefinita.
+ Per disabilitare questa opzione, lasciare vuota questa variabile globale.
+ </para>
+ </note>
+ <para>
+ <example>
+ <title>Esempio di unserialize_callback_func</title>
+ <programlisting role="php">
+<![CDATA[
+$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';
+
+ini_set('unserialize_callback_func','mycallback'); // imposta la funzione di callback
+
+function mycallback($classname) {
+ // semplicemente include un file contenente la definizione della classe
+ // la variabile $classname indica di quale classe occorre la definizione
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ Nella versione 3 di PHP, i metodi non erano preservati durante la fase di
+deserializzazione
+ di un oggetto. In PHP 4 questo limite � stato superato e possono essere
+ recuperati sia metodi sia propriet�. Per maggiori informazioni
+ vedere la sezione <link
+ linkend="language.oop.serialization">Serializzare oggetti</link> in
+ <link linkend="language.oop">Classi e oggetti</link>
+ </para>
+ </note>
+ <para>
+ <example>
+ <title>Esempio di uso di <function>unserialize</function></title>
+ <programlisting role="php">
+<![CDATA[
+// In quest esempio si usa unserialize() per caricare i dati di una sessione da un
+database
+// alla variabile $session_data. Questo esempio � complementare a quello illustrato
+// nella funzione <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 odbc_execute o odbc_fetch_into hanno un errore si predispone un array vuoto
+ $session_data = array();
+} else {
+ // ora abbiamo i dati serializzati in $tmp[0].
+ $session_data = unserialize ($tmp[0]);
+ if (!is_array ($session_data)) {
+ // qualcosa � andato storto, si predispone un array vuoto
+ $session_data = array();
+ }
+}
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Vedere anche: <function>serialize</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
<refentry id="function.unset">
<refnamediv>
<refname>unset</refname>
- <refpurpose>Dereferenzia (elimina) una variabile</refpurpose>
+ <refpurpose>Cancella una data variabile</refpurpose>
</refnamediv>
<refsect1>
<title>Descrizione</title>
<methodsynopsis>
- <type>int</type><methodname>unset</methodname>
+ <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> distrugge la variabile specificata e restituisce
- &true;.
+ <function>unset</function> distrugge la variabile specificata. Occorre
+ notare che in PHP 4 la funzione <function>unset</function> restituiva sempre
+&true;
+ (in realt� era il valore 1). In PHP 4, invece, la funzione
+ <function>unset</function> non � pi� una vera funzione, ora � una
+ istruzione. In questa veste non ritorna alcun valore, e cercare di ottenere
+ un valore dalla funzione <function>unset</function> produce un errore
+ di parsing.
</para>
<para>
<example>
<title>Esempio di <function>unset</function></title>
<programlisting role="php">
+<![CDATA[
+// Distrugge una singola variabile
unset ($foo);
+
+// distrugge un singolo elemento di un array
unset ($bar['quux']);
+
+// distrugge pi� di una variabile
+unset ($foo1, $foo2, $foo3);
+]]>
</programlisting>
</example>
</para>
<para>
- Si veda anche <function>isset</function> e
+ Il comportamento di <function>unset</function> all'interno di una funzione
+ pu� variare in funzione del tipo di variabile che si intende
+ distruggere.
+ </para>
+ <para>
+ Se si applica <function>unset</function> ad una variabile globale all'interno
+ di una funzione, sar� distrutta solo la variabile locale. Nell'ambiente
+ chiamante, la variabile manterr� il medesimo valore che aveva prima dell'uso
+ di <function>unset</function>.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+function destroy_foo() {
+ global $foo;
+ unset($foo);
+}
+
+$foo = 'bar';
+destroy_foo();
+echo $foo;
+]]>
+ </programlisting>
+ </informalexample>
+ L'esempio precedente visualizzer�:
+ <informalexample>
+ <screen>
+<![CDATA[
+bar
+]]>
+ </screen>
+ </informalexample>
+ </para>
+ <para>
+ Nel caso di una variabile PASSATA PER RIFERIMENTO ad una funzione,
+ l'uso della funzione <function>unset</function> distrugge solo la copia
+ locale della variabile. Nell'ambiente chiamante, la variabile manterr�
+ il medesimo valore che aveva prima dell'uso
+ di <function>unset</function>.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+function foo(&$bar) {
+ unset($bar);
+ $bar = "blah";
+}
+
+$bar = 'something';
+echo "$bar\n";
+
+foo($bar);
+echo "$bar\n";
+]]>
+ </programlisting>
+ </informalexample>
+ Il precedente esempio visualizzer�:
+ <informalexample>
+ <screen>
+<![CDATA[
+something
+something
+]]>
+ </screen>
+ </informalexample>
+ </para>
+ <para>
+ Se si usa <function>unset</function> su una variabile statica all'interno
+ di una funzione, <function>unset</function> cancella la variabile e tutti
+ i suoi riferimenti.
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+function foo() {
+ static $a;
+ $a++;
+ echo "$a\n";
+
+ unset($a);
+}
+
+foo();
+foo();
+foo();
+]]>
+ </programlisting>
+ </informalexample>
+ L'esempio precedente visualizzer�:
+ <informalexample>
+ <screen>
+<![CDATA[
+1
+2
+3
+]]>
+ </screen>
+ </informalexample>
+ </para>
+ <para>
+ Se si desidera cancellare una variabile globale dall'interno di una funzione,
+occorre usare <function>unset</function> sull'array <parameter>$GLOBALS</parameter>
+nel seguente modo:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+function foo() {
+ unset($GLOBALS['bar']);
+}
+
+$bar = "something";
+foo();
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ <note>
+ <para>
+ La funzione <function>unset</function> � un costrutto del linguaggio.
+ </para>
+ </note>
+ <para>
+ Vedere anche <function>isset</function> e
<function>empty</function>.
</para>
</refsect1>
@@ -679,12 +1364,15 @@
<methodsynopsis>
<type>void</type><methodname>var_dump</methodname>
<methodparam><type>mixed</type><parameter>expression</parameter></methodparam>
- </methodsynopsis>
+ <methodparam
+choice="opt"><type>mixed</type><parameter>expression</parameter></methodparam>
+ <methodparam choice="opt"><parameter>...</parameter></methodparam>
+ </methodsynopsis>
<simpara>
Questa funzione restituisce delle informazioni strutturate riguardanti una
espressione,
- tra cui il suo tipo e il suo valore. I vettori (array) sono attraversati in
maniera
+ tra cui il suo tipo e il suo valore. Gli array sono attraversati in maniera
ricorsiva e i valori indentati per evidenziare la struttura.
</simpara>
+ &tip.ob-capture;
<simpara>
Si confronti <function>var_dump</function> con
<function>print_r</function>.
@@ -692,18 +1380,133 @@
<para>
<informalexample>
<programlisting role="php">
-<pre>
-<?php
- $a = array (1, 2, array ("a", "b", "c"));
- var_dump ($a);
+<![CDATA[
+<pre>
+<?php
+$a = array (1, 2, array ("a", "b", "c"));
+var_dump ($a);
+
+/* output:
+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);
+
+/* output:
+float(3.1)
+bool(true)
+
+*/
+?>;
+</pre>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.var-export">
+ <refnamediv>
+ <refname>var_export</refname>
+ <refpurpose>Visualizza o restituisce una variabile in formato stringa</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</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>
+ Questa funzione restituisce informazioni strutturate sulla variabile che
+ viene passata. Il comportamento � simile a <function>var_dump</function>
+ con la sola differenza che il valore restituito � codice PHP.
+ </simpara>
+ <simpara>
+ Si pu� anche ottenere la rappresentazione della variabile usando &true;
+ come secondo parametro della funzione.
+ </simpara>
+ <simpara>
+ Confrontare <function>var_export</function> con
+ <function>var_dump</function>.
+ </simpara>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<pre>
+<?php
+$a = array (1, 2, array ("a", "b", "c"));
+var_export ($a);
+
+/* output:
+array (
+ 0 => 1,
+ 1 => 2,
+ 2 =>
+ array (
+ 0 => 'a',
+ 1 => 'b',
+ 2 => 'c',
+ ),
+)
+*/
+
+$b = 3.1;
+$v = var_export($b, TRUE);
+echo $v;
+
+/* output:
+3.1
+*/
?>
-</pre>
+</pre>
+]]>
</programlisting>
</informalexample>
</para>
</refsect1>
</refentry>
+ <refentry id='function.is-callable'>
+ <refnamediv>
+ <refname>is_callable</refname>
+ <refpurpose>
+ Verifica se l'argomento � un valido costrutto richiamabile.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Descrizione</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
@@ -726,4 +1529,3 @@
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
-