vrana           Thu Nov  3 05:59:41 2005 EDT

  Modified files:              
    /phpdoc/en/reference/var/functions  unset.xml 
  Log:
  Unsetting static variable (bug #34865)
  Move $GLOBALS example below global
  
http://cvs.php.net/diff.php/phpdoc/en/reference/var/functions/unset.xml?r1=1.12&r2=1.13&ty=u
Index: phpdoc/en/reference/var/functions/unset.xml
diff -u phpdoc/en/reference/var/functions/unset.xml:1.12 
phpdoc/en/reference/var/functions/unset.xml:1.13
--- phpdoc/en/reference/var/functions/unset.xml:1.12    Fri Mar 11 11:18:19 2005
+++ phpdoc/en/reference/var/functions/unset.xml Thu Nov  3 05:59:39 2005
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.12 $ -->
+<!-- $Revision: 1.13 $ -->
 <!-- splitted from ./en/functions/var.xml, last change in rev 1.2 -->
   <refentry id="function.unset">
    <refnamediv>
@@ -82,6 +82,26 @@
      </informalexample>
     </para>
     <para>
+     If you would like to <function>unset</function> a global variable
+     inside of a function, you can use
+     the <varname>$GLOBALS</varname> array to do so:
+     <informalexample>
+      <programlisting role="php">
+<![CDATA[
+<?php
+function foo() 
+{
+    unset($GLOBALS['bar']);
+}
+
+$bar = "something";
+foo();
+?>
+]]>
+      </programlisting>
+     </informalexample>
+    </para>
+    <para>
      If a variable that is PASSED BY REFERENCE is
      <function>unset</function> inside of a function, only the local
      variable is destroyed.  The variable in the calling environment
@@ -120,18 +140,21 @@
     </para>
     <para>
      If a static variable is <function>unset</function> inside of a
-     function, <function>unset</function> destroys the variable and all 
-     its references.
+     function, <function>unset</function> destroys the variable only in the
+     context of the rest of a function. Following calls will restore the
+     previous value of a variable.
      <informalexample>
       <programlisting role="php">
 <![CDATA[
 <?php
-function foo() 
+function foo()
 {
-    static $a;
-    $a++;
-    echo "$a\n";
-    unset($a);
+    static $bar;
+    $bar++;
+    echo "Before unset: $bar, ";
+    unset($bar);
+    $bar = 23;
+    echo "after unset: $bar\n";
 }
 
 foo();
@@ -147,33 +170,13 @@
      <informalexample>
       <screen>
 <![CDATA[
-1
-2
-3
+Before unset: 1, after unset: 23
+Before unset: 2, after unset: 23
+Before unset: 3, after unset: 23
 ]]>
       </screen>
      </informalexample>
     </para>
-    <para>
-     If you would like to <function>unset</function> a global variable
-     inside of a function, you can use
-     the <varname>$GLOBALS</varname> array to do so:
-     <informalexample>
-      <programlisting role="php">
-<![CDATA[
-<?php
-function foo() 
-{
-    unset($GLOBALS['bar']);
-}
-
-$bar = "something";
-foo();
-?>
-]]>
-      </programlisting>
-     </informalexample>
-    </para>
     
     &note.language-construct;
     

Reply via email to