سلام، من کد زیررو نوشتم :
$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
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟