PHP में array_multisort() फ़ंक्शन एकाधिक सरणियों या बहुआयामी सरणियों को एक साथ सॉर्ट करता है। यह पहली सरणी को सॉर्ट करता है, फिर टाई होने पर दूसरी सरणी से, और इसी तरह।
सिंटैक्स (Syntax)
array_multisort(array &$arr1, int $sort_order = SORT_ASC, int $sort_flags = SORT_REGULAR, array &...$arrays): bool
पैरामीटर्स (Parameters)
$arr1 − मुख्य सरणी जिसे सॉर्ट किया जाएगा।
$sort_order (वैकल्पिक) −
SORT_ASC(आरोही, डिफ़ॉल्ट) याSORT_DESC(अवरोही)।$sort_flags (वैकल्पिक) − तुलना मोड (SORT_REGULAR, SORT_NUMERIC, SORT_STRING, SORT_LOCALE_STRING, SORT_NATURAL, SORT_FLAG_CASE)।
$arrays (वैकल्पिक) − अतिरिक्त सरणियाँ, प्रत्येक के बाद वैकल्पिक sort_order और sort_flags।
रिटर्न वैल्यू (Return Value)
सफलता पर true, विफलता पर false। सभी सरणियाँ रेफरेंस द्वारा संशोधित होती हैं।
उदाहरण (Examples)
उउदाहरण 1: दो सरणियाँ एक साथ सॉर्ट करना
<?php $a1 = array(12, 55, 3, 9, 99); $a2 = array(44, 67, 22, 78, 46); array_multisort($a1, $a2); print_r($a1); print_r($a2); ?>
आउटपुट
Array
(
[0] => 3
[1] => 9
[2] => 12
[3] => 55
[4] => 99
)
Array
(
[0] => 22
[1] => 78
[2] => 44
[3] => 67
[4] => 46
)
व्याख्या: $a1 सॉर्ट हुई (3,9,12,55,99), $a2 के तत्व $a1 के अनुसार पुनर्व्यवस्थित हुए।
उदाहरण 2: मर्ज करके संख्यात्मक आरोही सॉर्ट
<?php $a1 = array(12, 55, 3, 9, 99); $a2 = array(44, 67, 22, 78, 46); $merged = array_merge($a1, $a2); array_multisort($merged, SORT_ASC, SORT_NUMERIC); print_r($merged); ?>
आउटपुट
Array
(
[0] => 3
[1] => 9
[2] => 12
[3] => 22
[4] => 44
[5] => 46
[6] => 55
[7] => 67
[8] => 78
[9] => 99
)
उदाहरण 3: बहुआयामी सरणी सॉर्ट करना (कॉलम द्वारा)
<?php
$data = [
["name" => "Amit", "age" => 25, "score" => 85],
["name" => "Priya", "age" => 22, "score" => 92],
["name" => "Rahul", "age" => 28, "score" => 78],
];
// score के आधार पर अवरोही सॉर्ट
$scores = array_column($data, "score");
array_multisort($scores, SORT_DESC, $data);
print_r($data);
?>
आउटपुट
Array
(
[0] => Array ( [name] => Priya [age] => 22 [score] => 92 )
[1] => Array ( [name] => Amit [age] => 25 [score] => 85 )
[2] => Array ( [name] => Rahul [age] => 28 [score] => 78 )
)
उदाहरण 4: एकाधिक कॉलम द्वारा सॉर्ट (age ASC, फिर score DESC)
<?php
$data = [
["name" => "A", "age" => 25, "score" => 80],
["name" => "B", "age" => 25, "score" => 90],
["name" => "C", "age" => 22, "score" => 85],
];
$ages = array_column($data, "age");
$scores = array_column($data, "score");
array_multisort($ages, SORT_ASC, $scores, SORT_DESC, $data);
print_r($data);
?>