[PHP-DOC] cvs: phpdoc /en/functions array.xml From: Derick Rethans (d.rethans <email protected>)
Date: 11/19/01

derick Mon Nov 19 03:56:03 2001 EDT

  Modified files:
    /phpdoc/en/functions array.xml
  Log:
  - Fix for bug #14104 (added documentation on how to pass object member
    functions to usort)
  
  
Index: phpdoc/en/functions/array.xml
diff -u phpdoc/en/functions/array.xml:1.124 phpdoc/en/functions/array.xml:1.125
--- phpdoc/en/functions/array.xml:1.124 Sun Nov 18 18:45:19 2001
+++ phpdoc/en/functions/array.xml Mon Nov 19 03:56:03 2001
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.124 $ -->
+<!-- $Revision: 1.125 $ -->
  <reference id="ref.array">
   <title>Array Functions</title>
   <titleabbrev>Arrays</titleabbrev>
@@ -3538,6 +3538,10 @@
      sorted array is undefined.
     </para>
     <para>
+ It is also possible to use a member function of an object as the
+ comparison function. See example number 3 below.
+ </para>
+ <para>
      <example>
       <title><function>usort</function> example</title>
       <programlisting role="php">
@@ -3619,6 +3623,55 @@
 $fruits[1]: grapes
 $fruits[2]: lemons
 ]]>
+ </programlisting>
+ </informalexample>
+ </para>
+
+ <para>
+ <example>
+ <title>
+ <function>usort</function> example using a member function of an object
+ </title>
+ <programlisting role="php">
+class TestObj {
+ var $name;
+
+ function TestObj($name)
+ {
+ $this->name = $name;
+ }
+
+ /* This is the static comparing function: */
+ function cmp_obj($a, $b)
+ {
+ $al = strtolower($a->name);
+ $bl = strtolower($b->name);
+ if ($al == $bl) return 0;
+ return ($al > $bl) ? +1 : -1;
+ }
+}
+
+$a[] = new TestObj("c");
+$a[] = new TestObj("b");
+$a[] = new TestObj("d");
+
+uasort($a, array ("TestObj", "cmp_obj"));
+
+foreach ($a as $item) {
+ print $item->name."\n";
+}
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ This example would display:
+ </para>
+ <para>
+ <informalexample>
+ <programlisting>
+b
+c
+d
       </programlisting>
      </informalexample>
     </para>