php 数组 将指定元素移至末尾
发布网友
发布时间:2022-04-30 16:19
我来回答
共2个回答
热心网友
时间:2022-06-27 07:24
$arr = array(0,3,5,0,0,7,1,9,0,8);
$count = count($arr);
$remove_arr = array();
for($i=0;$i<=$count;$i++){
if($arr[$i] === 0) {
array_push($arr, $arr[$i]);
array_push($remove_arr, $i);
}
}
foreach($arr as $k=> $v) {
if(in_array($k, $remove_arr)){
unset($arr[$k]);
}
}
echo '<pre>';
var_mp($arr);die;
热心网友
时间:2022-06-27 07:25
function moveZeroEnd($arr)
{
if (empty($arr)) return false;
for ($i = 0; $i < count($arr) ; $i++) {
if ($arr[$i] == 0) {
array_push($arr, $arr[$i]);//把为0的值追加到末尾
unset($arr[$i]);
}
}
return $arr;
}
$arr = [0,3,5,0,0,7,1,9,0,8];
echo "<pre>";
print_r(moveZeroEnd($arr));
echo "</pre>";
结果如下所示:
Array
(
[1] => 3
[2] => 5
[5] => 7
[6] => 1
[7] => 9
[9] => 8
[10] => 0
[11] => 0
[12] => 0
[13] => 0
)