我有以下PHP代码
<?php
$colors = array(
array (
"checked" => '',
"intype" => '',
"id" => '',
"store1" => 'Red',
"defaultswatch1" => '',
"swatch1" => '',
"store0" => 'Red',
"defaultswatch0" => '',
"swatch0" => '',
),
array (
"checked" => '',
"intype" => '',
"id" => '',
"store1" => 'Black',
"defaultswatch1" => '',
"swatch1" => '',
"store0" => 'Black',
"defaultswatch0" => '/t/h/th-petal_pink_9_1.jpg',
"swatch0" => 'url(https://staging.zitomer.com/media/attribute/swatch/t/h/th-petal_pink_9_1.jpg); background-size: cover;',
),
array (
"checked" => '',
"intype" => '',
"id" => '',
"store1" => 'Green',
"defaultswatch1" => '',
"swatch1" => '',
"store0" => 'Green',
"defaultswatch0" =>'',
"swatch0" =>'',
),
);
foreach($colors as $key => $val) {
$mid[ucwords($key)] = ucwords($val['store0']);
}
array_multisort($mid, SORT_ASC, $colors);
print_r($colors);
?>
当我尝试使用array_multisort()根据'store0'键对数组进行排序时,它可以正确排序。参见下面的输出。
实际输出越来越差,排序是bvelow。 但是在这里,键“ store0”的黑色值未正确排序。它分配给最后一个数组。
Array
(
[0] => Array
(
[checked] =>
[intype] =>
[store1] => Black
[defaultswatch1] =>
[swatch1] =>
[store0] => Black
[defaultswatch0] =>
[swatch0] =>
)
[1] => Array
(
[checked] =>
[intype] =>
[store1] => Green
[defaultswatch1] =>
[swatch1] =>
[store0] => Green
[defaultswatch0] =>
[swatch0] =>
)
[2] => Array
(
[checked] =>
[intype] =>
[store1] => Red
[defaultswatch1] =>
[swatch1] =>
[store0] => Red
[defaultswatch0] => /t/h/th-petal_pink_9_1.jpg
[swatch0] => url(https://staging.zitomer.com/media/attribute/swatch/t/h/th-petal_pink_9_1.jpg); background-size: cover;
)
)
预期的输出应该是排序的。
Array
(
[0] => Array
(
[checked] =>
[intype] =>
[store1] => Black
[defaultswatch1] =>
[swatch1] =>
[store0] => Black
[defaultswatch0] => /t/h/th-petal_pink_9_1.jpg
[swatch0] => url(https://staging.zitomer.com/media/attribute/swatch/t/h/th-petal_pink_9_1.jpg); background-size: cover;
)
[1] => Array
(
[checked] =>
[intype] =>
[store1] => Green
[defaultswatch1] =>
[swatch1] =>
[store0] => Green
[defaultswatch0] =>
[swatch0] =>
)
[2] => Array
(
[checked] =>
[intype] =>
[store1] => Red
[defaultswatch1] =>
[swatch1] =>
[store0] => Red
[defaultswatch0] =>
[swatch0] =>
)
)