سلام، من کد زیررو نوشتم :
$Array = []; for ($a = 0; $a <= 3; $a++) { $Array [] = ['a' => rand(0, 100), 'BaseHolders' => rand(0, 100)]; } //Result 1 print_r($Array); echo "\n\n-------\nResult 1 :\n"; asort($Array); //Result 2 echo "\n\n-------\nResult 2 :\n"; print_r($Array);
و وقتی اجراش می کنم این میشه خروجیم :
Array ( [0] => Array ( [a] => 30 [BaseHolders] => 85 ) [1] => Array ( [a] => 90 [BaseHolders] => 75 ) [2] => Array ( [a] => 28 [BaseHolders] => 44 ) [3] => Array ( [a] => 30 [BaseHolders] => 0 ) ) ------- Result 1 : ------- Result 2 : Array ( [2] => Array ( [a] => 28 [BaseHolders] => 44 ) [3] => Array ( [a] => 30 [BaseHolders] => 0 ) [0] => Array ( [a] => 30 [BaseHolders] => 85 ) [1] => Array ( [a] => 90 [BaseHolders] => 75 ) )
داخل نتیجه اول آرایه ها key ندارن و به صورت عددی میشه صداشون زد مثلا :
$Array[1]
ولی داخل نتیجه دوم بعد از مرتب سازی آرایه ها key عددی میگیرن!
چطوری کاری کنم که بعد از مرتب سازی key نگیرن ؟
سلام
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $Array = []; for ($a = 0; $a <= 3; $a++) { $Array [] = ['a' => rand(0, 100), 'BaseHolders' => rand(0, 100)]; } //Result 1 print_r($Array); echo "\n\n-------\nResult 1 :\n"; usort($Array , "cmp"); //Result 2 echo "\n\n-------\nResult 2 :\n"; print_r($Array);
باید به جای فانکشن asort از usort و یک تابع مرتب سازی استفاده بکنید
اگر جواب بنده مورد قبولتون بوده
میتونید جواب بنده رو به عنوان بهترین پاسخ انتخاب بکنید
@houman
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟