PHP-如何按指定值对数组进行排序?
我已经在php中创建了一个数组,我想按照名称而不是字母顺序对数组的缩进数组进行排序。 代码如下:PHP-如何按指定值对数组进行排序?,php,arrays,sorting,Php,Arrays,Sorting,我已经在php中创建了一个数组,我想按照名称而不是字母顺序对数组的缩进数组进行排序。 代码如下: $arr = array("ID"=>"001", "c"=>array() ); $products = ['apple','orange','kiwi','banana']; foreach($products as $product){ $arr['c'][]=array( "product" => $product
$arr = array("ID"=>"001",
"c"=>array()
);
$products = ['apple','orange','kiwi','banana'];
foreach($products as $product){
$arr['c'][]=array(
"product" => $product
);
}
print_r($arr);
上述代码将打印:
Array(
[ID] => 001[c] => Array(
[0] => Array(
[product] => apple
) [1] => Array(
[product] => orange
) [2] => Array(
[product] => kiwi
) [3] => Array(
[product] => banana
)
)
)
我想按如下结果对它们进行排序:
Array(
[ID] => 001[c] => Array(
[0] => Array(
[product] => orange
) [1] => Array(
[product] => apple
) [2] => Array(
[product] => banana
) [3] => Array(
[product] => kiwi
)
)
)
一个有趣的情况,我会尽量避免 如果你已经知道事物的顺序,请按正确的顺序添加它们
$arr = array("ID"=>"001",
"c"=>array()
);
$products = ['apple','orange','kiwi','banana'];
$myCustomSortValuesInOrder = array (
'orange', 'apple', 'banana', 'kiwi'
);
foreach($myCustomSortValuesInOrder as $orderVal) {
$key = array_search($orderVal, $products);
if($key !== false) {
$arr['c'][]=array(
"product" => $products[$key];
);
}
}
print_r($arr);
我想按照下面的结果对它们进行排序:这看起来不像是对我的英语进行了排序,而是对它们进行了重新排序,比如橙色是数组的第一个,等等,谢谢你的意思是你想让它们按降序排序吗?“等等?”我在第二个例子中看不到任何有意义的顺序。不是像样的或字母顺序,我想按其值对它们进行手动排序。产品数组是API调用的响应,我想手动重新排序它们,如“橙色”、“苹果”、“香蕉”、“猕猴桃”。