ID:               19617
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
-Bug Type:         Scripting Engine problem
+Bug Type:         Arrays related
 Operating System: Unix
 PHP Version:      4.2.0
 New Comment:

Please provide a short (!) complete and self-containing example script.
You should also try with the 4.2.3 release.



Previous Comments:
------------------------------------------------------------------------

[2002-09-26 10:13:43] [EMAIL PROTECTED]

Using array_multisort in a function don't work if the array 
is "global" (you can paste the following code) :

<HTML>
   <HEAD>
      <TITLE></TITLE>
   </HEAD>
<body>
<?
function t() {
   global $row;
   $file = fopen("file.txt","r") or die;
   while (!feof($file)) {
      $row[] = fgetcsv($file,80,";");
   }
   /* $row[] like this
      Array ( [0] => Array ( [0] => 406 
                             [1] => xxxxxxxxxxxxxxxxxxxx
                             [2] => 5,72 )
              [1] => Array ( [0] => 001
                             [1] => zzzzzzzzzzzzzzzzzzzzz
                             [2] => 5,77 )
              [2] => Array ( [0] => 402
                             [1] => aaaaaaaaaaaaaaaaaaaaa
                             [2] => 13,71 )
              [3] => Array ( [0] => 009
                             [1] => fffffffffffffffffffff
                             [2] => 7,61 )
            ) 
     I want to sort it on aaa.../fff.../xxx.../zzz...
     */       
   fclose($file); 
   foreach ( $row as $value ) {
      $sortarray[] = $value[1];
   }
   /* $sortarray like this
      Array ( [0] => xxxxxxxxxxxxxxxxxxxx
              [1] => zzzzzzzzzzzzzzzzzzzz
              [2] => aaaaaaaaaaaaaaaaaaaa
              [3] => ffffffffffffffffffff
            ) 
   */
   // I try to use array_multisort($row,$sortarray); too
   array_multisort($sortarray,$row);
   print_r($row);
   // no change for $row[], until i remove global for $row;
   echo "<br>";
   print_r($sortarray);
   /* $sortarray[], now like this 
      Array ( [0] => aaaaaaaaaaaaaaaaaaaa
              [1] => ffffffffffffffffffff
              [2] => xxxxxxxxxxxxxxxxxxxx
              [3] => zzzzzzzzzzzzzzzzzzzz
            ) 
     or no change if set to global too.       
   */
}
t();
?>
</body>
</HTML>



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=19617&edit=1

Reply via email to