uasort (uasort)
اینجا با «مرتب سازی سفارشی با uasort» آشنا می شویم. «تابع مقایسه (Comparison Function)» یعنی تابعی که دو مقدار را می سنجد. uasort آرایه را با تابع خودت مرتب می کند و کلیدها را نگه می دارد.
uasort چیست؟
uasort با «تابع کاربر» مقایسه می کند. سپس مقدارها را مرتب می چیند. همچنین ارتباط کلیدها حفظ می شود.
سینتکس و پارامترها
سینتکس (Syntax) یعنی شکل درست نوشتن دستور.
uasort($array, $callback);
array: آرایه هدف. callback: تابع مقایسه که عدد منفی، صفر، یا مثبت برمی گرداند.
مثال: مرتب سازی با تابع مقایسه سفارشی
تابع می نویسیم، بعد آرایه را با همان تابع مرتب می کنیم.
<?php
function my_sort($a, $b) {
if ($a == $b) {
return 0;
}
if ($a < $b) {
return -1;
}
return 1;
}
$arr = array(
"a" => 4,
"b" => 2,
"c" => 8,
"d" => 6
);
uasort($arr, "my_sort");
foreach ($arr as $key => $value) {
echo "[" . $key . "] => " . $value;
echo "<br>";
}
?>
گام های سریع
- آرایه انجمنی بساز.
- تابع مقایسه را تعریف کن.
- uasort را با آرایه و تابع صدا بزن.
- خروجی را چاپ و بررسی کن.
نکته: برای مرتب سازی بر اساس کلید، از uksort() استفاده کن. برای مرتب سازی با از بین رفتن کلیدها، usort() کاربرد دارد.
هشدار: مقدار بازگشتی همیشه TRUE است. اگر callback پارامتر ارجاعی بخواهد، هشدار می دهد.
لینک های مرتبط
برگرد به همین صفحه با مرتب سازی سفارشی با uasort. همچنین ببین: usort و uksort.
جمع بندی سریع
- uasort کلیدها را حفظ می کند.
- تابع مقایسه را خودت می نویسی.
- خروجی TRUE است.
- برای کلیدها از uksort برو.
- برای حذف کلیدها usort است.