PHP,如何遍历一个数组,并且把符合条件的项移到数组末尾。

 我来答
百度网友a19d193
2013-04-09 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1446万
展开全部

这个不行的,只能创建新数组。因为如果只是单纯移动到末尾的话会造成死循环。

$isOk = array();
$isBad = array();
foreach($old as $data) {
if (true) {
$isOk[] = $data;
} else {
$isBad[] = $data;
}
}
$old = array_merge($isBad, $isOk);
Zjmainstay
2013-04-09 · 知道合伙人互联网行家
Zjmainstay
知道合伙人互联网行家
采纳数:580 获赞数:1129
http://www.zjmainstay.cn

向TA提问 私信TA
展开全部

下面是一种举例,自己按要求修改即可。这里要用foreach,不要用for/while那些。

<?php
$array = array(0,1,2,0,3,4,5,0,1);
echo '<pre>';
print_r($array);
foreach($array as $key=>$val){
if($val == 0){
unset($array[$key]); //删除符合条件的
$array[] = $val; //把它放到数组后面
}
}
echo '<br/>';
print_r($array);
//结果
/* Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 0
[4] => 3
[5] => 4
[6] => 5
[7] => 0
[8] => 1
)
Array
(
[1] => 1
[2] => 2
[4] => 3
[5] => 4
[6] => 5
[8] => 1
[9] => 0
[10] => 0
[11] => 0
) */
//End_php
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
推荐于2017-12-15 · TA获得超过758个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:234万
展开全部
//$orgArr为要遍历的数组
$temArr=array();
foreach($orgArr as $key=>$value){
if(此处为条件){
$temArr[]=$value;
unset($orgArr[$key]);

}

}
$resArr=array_merge($orgArr,$temArr);
return $resArr;

希望对你有用,不明白的话再追问
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gongkai1985
2013-04-09 · TA获得超过226个赞
知道小有建树答主
回答量:246
采纳率:100%
帮助的人:168万
展开全部
用foreach循环可遍历一个数组
在循环里面做判断把符合条件的放入新数组,把不符合条件的放入别一个新数组,然后把符合条件的新数组加入到不符合条件新数组里面就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式