مرتب‌سازی آرایه‌ها

مرتب‌سازی آرایه‌ها با sort، rsort، asort، ksort و توابع مرتب‌سازی PHP

توابع مرتب‌سازی در PHP

PHP چندین تابع برای مرتب‌سازی آرایه‌ها دارد:

تابعتوضیححفظ کلید؟
sort()صعودی (A-Z)❌ خیر
rsort()نزولی (Z-A)❌ خیر
asort()صعودی بر اساس مقدار✅ بله
arsort()نزولی بر اساس مقدار✅ بله
ksort()صعودی بر اساس کلید✅ بله
krsort()نزولی بر اساس کلید✅ بله

sort() — مرتب‌سازی صعودی

<?php
$numbers = [5, 2, 8, 1, 9, 3];
sort($numbers);
// [1, 2, 3, 5, 8, 9]

$names = ["زهرا", "علی", "مریم"];
sort($names);
// ["علی", "مریم", "زهرا"]
?>

rsort() — مرتب‌سازی نزولی

<?php
$numbers = [5, 2, 8, 1, 9, 3];
rsort($numbers);
// [9, 8, 5, 3, 2, 1]
?>

asort() — مرتب‌سازی آرایه انجمنی

<?php
$ages = [
    "علی" => 25,
    "مریم" => 22,
    "حسن" => 28
];

asort($ages);  // بر اساس مقدار (سن)
// مریم => 22, علی => 25, حسن => 28
?>

ksort() — مرتب‌سازی بر اساس کلید

<?php
$ages = [
    "زهرا" => 25,
    "علی" => 22,
    "مریم" => 28
];

ksort($ages);  // بر اساس کلید (نام)
// علی => 22, زهرا => 25, مریم => 28
?>
اگر کلیدهای آرایه انجمنی برایتان مهم است، از asort/ksort استفاده کنید. sort کلیدها را از بین می‌برد!

مرتب‌سازی سفارشی — usort()

برای مرتب‌سازی با منطق دلخواه:

<?php
$products = [
    ["name" => "لپ‌تاپ", "price" => 50000000],
    ["name" => "موس", "price" => 350000],
    ["name" => "کیبورد", "price" => 850000]
];

usort($products, function($a, $b) {
    return $a["price"] - $b["price"];
});
// مرتب شده بر اساس قیمت (صعودی)
?>

این مبحث بخشی از دوره آموزش کامل PHP است.

ابزارهای مرتبط