Функция array_multisort
возвращает false
при попытке отсортировать многомерный массив и сортировки не происходит.
Как узнать, в чем проблема?
Вот код:
// $arResult["ITEMS"] - многомерный массив произвольного уровня вложенности
$sort_numcie = array();
foreach($arResult["ITEMS"] as $val) {
$sort_numcie[] = $val['SORT'];
}
array_multisort($sort_numcie, SORT_ASC, $arResult["ITEMS"]); // false
Что именно не нравится этой функции?
В данном примере вы не вкладываете данные в массив $sort_numcie под нужными ключами. И вложенность тут непричем.
$sort_numcie = array();
foreach($arResult["ITEMS"] as $key => $val) {
$sort_numcie[$key] = $val['SORT'];
}
array_multisort($sort_numcie, SORT_ASC, $arResult["ITEMS"]);
И array_multisort не будет сортировать вложенные массивы. Если вы хотите сортировать и вложенные массивы, то надо применять сортировку к каждому отдельно, как в примере в документации:
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
$price = array();
foreach ($inventory as $key => $row)
{
$price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
У меня есть программа серверУ меня получается к нему подключаться по всем 3 ip:
В чём смысл подставляемой функции в С++? Я понимаю перед типом возвращаемого значения нужно писать inline? Но в чём все-таки разница между обычной...
Есть список и есть функция addДобавляем элементы, а с функцией doubling удваиваем