使用 php 在特定模型之后对数组进行排序


Sort array after specific model with php

我想在特定模型之后对数组进行排序,需要一点帮助。

模型数组为:

$model = array('S','D','P','X','M');

我要排序的数组是:

$array = array('S','M','X','P');

最终结果应该是:

$result = array('S','P','X','M');

$array可能不包含$model中的所有值,它可能包含不同的组合和更少的值。

我试过了:

$result = array(); // result array
foreach($model as $val){ // loop
    $result[array_search($val, $array)] = $val; // adding values
}
print_r($result);

这种排序但用 D 结果替换 S 将是

$result = array('D','P','X','M');

我会这样走:

$model=array('S','D','P','X','M');
$array=array('S','M','X','P');
$result = array(); // result array
foreach($model as $val){
    // if it exists in the array
    if (array_search($val, $array) !== false)
        // add the value to the result array
        $result[] = $val;
}
print_r($result);

输出:

Array
(
    [0] => S
    [1] => P
    [2] => X
    [3] => M
)