一个有关数组的问题(自我感觉有点难)
本帖最后由 mafeifan 于 2013-07-10 11:02:33 编辑
已知
<br />$items = array(<br /> array('dna<p>+本文来源gao!%daima.com搞$代*!码9网(</p><strong>搞gaodaima代码</strong>_id'=>55,'status'=>1),<br /> array('dna_id'=>55,'status'=>0),<br /> array('dna_id'=>56,'status'=>1),<br /> array('dna_id'=>58,'status'=>0),<br /> array('dna_id'=>58,'status'=>0),<br /> array('dna_id'=>60,'status'=>0),<br /> array('dna_id'=>60,'status'=>0),<br /> array('dna_id'=>60,'status'=>0), <br /> array('dna_id'=>60,'status'=>0) <br />);<br />
欲得到下面的结果,active未完成的记录,个数及id
<br />array(<br /> 'active'=>array('count'=>3,'ids'=>array('55','58','60')),<br /> 'completed'=>array('count'=>1,'ids'=>array('56'))<br />);<br />
dna_id可能有多条,当每条dna_id对应的status必须都是1或没有0才放到completed里面,否则放到active里面,通过遍历或者更简单的方法怎么得到上面的结果呢
分享到: 55,'status'=>1),????array('dna_id'=>55,'status'=>0…’ data-pics=”>
——解决方案——————–
可以这样写
$items = array(
array('dna_id'=>55,'status'=>1),
array('dna_id'=>55,'status'=>0),
array('dna_id'=>56,'status'=>1),
array('dna_id'=>58,'status'=>0),
array('dna_id'=>58,'status'=>0),
array('dna_id'=>60,'status'=>0),
array('dna_id'=>60,'status'=>0),
array('dna_id'=>60,'status'=>0),
array('dna_id'=>60,'status'=>0),
);
$res = array(
'active'=> array(
'count' => 0,
'ids' => array()
),
'completed' => array(
'count' => 0,
'ids' => array()
),
);
foreach($items as $v) {
if(!in_array($v['dna_id'], $res['active']['ids'])) $res['active']['ids'][] = $v['dna_id'];搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:一个有关数组的有关问题(自小弟我感觉有点难)