mfischer                Sat Jun  8 11:11:31 2002 EDT

  Modified files:              
    /phpdoc/en/reference/array/functions        list.xml 
  Log:
  - Document list() specific behaviour of the order of assigning the values to
    the variables.
  
  
Index: phpdoc/en/reference/array/functions/list.xml
diff -u phpdoc/en/reference/array/functions/list.xml:1.4 
phpdoc/en/reference/array/functions/list.xml:1.5
--- phpdoc/en/reference/array/functions/list.xml:1.4    Sun May 12 04:19:28 2002
+++ phpdoc/en/reference/array/functions/list.xml        Sat Jun  8 11:11:31 2002
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
 <!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
   <refentry id="function.list">
    <refnamediv>
@@ -78,6 +78,44 @@
 ]]>
       </programlisting>
      </example>
+    </para>
+    <warning>
+    <para>
+     <function>list</function> assigns the values starting with the right-most
+     parameter. If you are using plain variables, you don't have to worry
+     about this. But if you are using arrays with indices you usually expect
+     the order of the indices in the array the same you wrote in the
+     <function>list</function> from left to write; which it isn't. It's
+     assigned in the reverse order.
+    </para>
+    </warning>
+    <para>
+     <example>
+      <title>Using <function>list</function> with array indices</title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+
+$info = array('coffee', 'brown', 'caffeine');
+
+list($a[0], $a[1], $a[2]) = $info;
+
+var_dump($a);
+]]>
+      </programlisting>
+     </example>
+     Gives the following output (note the order of the elements compared in
+     which order they were written in the <function>list</function> syntax):
+     <screen>
+array(3) {
+  [2]=>
+  string(8) "caffeine"
+  [1]=>
+  string(5) "brown"
+  [0]=>
+  string(6) "coffee"
+}
+     </screen>
     </para>
     <para>
      See also <function>each</function>, <function>array</function> 


Reply via email to