Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
[pr] => Array (
[0] => Array ( [pr_id] => 365 [v_height] => 1.20 [v_width] => 1200.00 [v_length] => 3000.00 [v_l1] => 20 [v_l2] => 50 )
[1] => Array ( [pr_id] => 436 [v_height] => 4.00 [v_width] => 1200.00 [v_length] => 3000.00 [v_l1] => 90 )
[2] => Array ( [pr_id] => 367 [v_height] => 0.50 [v_width] => 1200.00 [v_length] => 3000.00)
[3] => Array ( [pr_id] => 769 [v_height] => 0.50 [v_width] => 1200.00 [v_length] => 3000.00 [v_l3] => 12 )
[4] => Array ( [pr_id] => 770 [v_height] => 0.80 [v_width] => 1200.00 [v_length] => 3000.00)
)
теоретически ничем, но не думаю что их будет больше 20v_lN ничем не ограничен? Какое максимальное количество их может быть?
вопрос в том как передать все ключи в сортировкуиспользуя array_keys, получаем все ключи, проверим и уже отсортировать
$aDataTemplate = array(
'pr_id' => 0,
'v_height' => 0,
'v_width' => 0.0,
'v_length' => 0.0,
'v_l1' => 0,
'v_l1' => 0,
'v_l2' => 0,
'v_l3' => 0,
.............
'v_l20' => 0,
);
Такой вариант я уже опробовал, просто думал есть более изящное решение...Даже если ты передашь все ключи в array_multisort - будет ошибка: "Array sizes are inconsistent"
Т.к. собственно вложенные массивы у тебя разных размеров.
Можно нагородить такой огород, чтобы использовался шаблон массива для заполнения, что-то типа
При наполнении твоего массива с данными используй его как шаблон, тогда вложенные массивы у тебя будут одного размера.
Так же у тебя будет заранее определен набор ключей, которые ты можешь передать в array_multisort для сортировки.
эелементарно Ватсонвопрос в том как передать все ключи в сортировку
$a = array([pr] => Array (
[0] => Array ( [pr_id] => 365 [v_height] => 1.20 [v_width] => 1200.00 [v_length] => 3000.00 [v_l1] => 20 [v_l2] => 50 )
[1] => Array ( [pr_id] => 436 [v_height] => 4.00 [v_width] => 1200.00 [v_length] => 3000.00 [v_l1] => 90 )
[2] => Array ( [pr_id] => 367 [v_height] => 0.50 [v_width] => 1200.00 [v_length] => 3000.00)
[3] => Array ( [pr_id] => 769 [v_height] => 0.50 [v_width] => 1200.00 [v_length] => 3000.00 [v_l3] => 12 )
[4] => Array ( [pr_id] => 770 [v_height] => 0.80 [v_width] => 1200.00 [v_length] => 3000.00)
)
$r=array();
$o = array();
foreach ($a as $key=>$val){
$r[]=array_keys($val);
$m=$r[(count($r)-1)][(count($r[(count($r)-1)])-1)];
if(is_numeric(strstr($m,'v_l')) && strstr($m,'v_l')>$o){
$o[]=strstr($m,'v_l')+0;
}else{
$o[]=0;
}
}