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

我已经在php中创建了一个数组,我想按照名称而不是字母顺序对数组的缩进数组进行排序。 代码如下:

$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调用的响应,我想手动重新排序它们,如“橙色”、“苹果”、“香蕉”、“猕猴桃”。