下面情景:现$arr数组用ksort()排序,要求不相邻的两个元素,使指定的这2个元素相邻。
想到的其中一个方法:
$i = 0;
$j = 0;
$a = array();
foreach($arr as $key=>$tag){
if ($i>$j && $j>0) {
if ($key == 'element1') {
$a[] = $j+1;
} else {
$a[] = $i+1;
}
} else {
if ($key == 'element2') {
$j = $i;
$a[] = $i;
} else {
$a[] = $i;
}
}
$i++;
}
array_multisort($a,SORT_ASC,SORT_NATURAL,$arr);
}
各位如有更好的方法,欢迎交流。