$a = array('val1','val2',200, 179,230, 234, 242);
$b = array(230, 234, 242, 179, 100);
所以阵列元应根据数组$ B和被排序$ resultArray应该是( 'VAL1', 'VAL2',200,230,234,242, 179)PHP - 根据第二给定数组进行排序的阵列
$a = array('val1','val2',200, 179,230, 234, 242);
$b = array(230, 234, 242, 179, 100);
所以阵列元应根据数组$ B和被排序$ resultArray应该是( 'VAL1', 'VAL2',200,230,234,242, 179)PHP - 根据第二给定数组进行排序的阵列
此,到目前为止,是提供所寻求的阵列顺序的唯一的答案:
$a = array('val1','val2',200, 179,230, 234, 242);
$b = array(230, 234, 242, 179, 100);
for($x=0,$size=sizeof($a); $x<$size; ++$x){
if($key=array_search($a[$x],$b)){
$result[$size+$key]=$a[$x];
}else{
$result[$x]=$a[$x];
}
}
ksort($result);
$result=array_values($result);
print_r($result);
'VAL1', 'VAL2',200,230,234,242,179
,现在你可以编辑或删除你的答案,因为它也没有给出输入的预期结果:array('val1','val2',230,179,200,234,'val3',242 )'。 OP期望结果是你要求的结果是Array([0] => val3 [1] => 200 [2] => val1 [3] => val2 [4] => 230 [5] = > 234 [6] => 242 [7] => 179)* – RomanPerekhrest
是的,你的答案更有希望,因为它在数组a中保持顺序更合适,做得好。 :) –
@mickmackusa,你的回答对我的一个案例不起作用,但它与正常的脚本一起工作,但随着主代码,它不会, 所以我用RomanPerekhrest回答了。 –
你想排序你的阵列? –
是的那种,来自a的值将按数组排序,如果a的值不在b中,那么它不会考虑,并且如果在a中的值的顺序中存在额外的值,则不应该改变了 –