|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-08-04 14:19 UTC] jani@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Dec 06 09:00:02 2025 UTC |
Description: ------------ uasort overwrites the last element in a large associative array with incrementing numbers Reproduce code: --------------- $detaildata = array(); for($i = 0; $i < 6; $i++) { $lid = rand(1,200); $numpeople = rand(0,12); for($p = 0; $p < $numpeople; $p++) { $pid = rand(1,200); $detaildata[$lid][$pid] = array("string data","string data",$pid); } } $detaildata[9][44] = array("string data","string data",44); // foreach($detaildata as &$row) { uasort($row,CalSortCallback); } // echo is_array($detaildata[9])?'yes':'no'; for($row = 0; $row < 5; $row++) { echo is_array($detaildata[9])?'yes':$detaildata[9]; } // function CalSortCallback($a,$b) { return strcmp($a[1],$b[1]); } Expected result: ---------------- it should print 6 yeses yesyesyesyesyesyes Actual result: -------------- it prints yes01234