如何解决在php中,我们必须循环执行或执行任何特殊操作?
|php> $a = array(\"a\"=>1,\"b\"=>0,\"c\"=>1,\"d\"=>1,\"e\"=>0);
php> $b = array();
php> foreach ($a as $k =>$v){
... if($v != 0){
... $b[\"$k\"] = $v;
... }
... }
php> print_r($b);
Array
(
[a] => 1
[c] => 1
[d] => 1
)
php>
反正不使用循环吗?
解决方法
我认为array_filter是您所需要的。
function notZero($var)
{
// returns whether the input integer is not zero
return $var != 0;
}
$a = array(\"a\"=>1,\"b\"=>0,\"c\"=>1,\"d\"=>1,\"e\"=>0);
print_r(array_filter($a,\"notZero\"));
//Prints what you need
Array
(
[a] => 1
[c] => 1
[d] => 1
)
, $a = array(\"a\" => 1,\"b\" => 0,\"c\" => 1,\"d\" => 1,\"e\" => 0);
$b = array_filter($a);
, 您可以使用array_map
或array_filter
,但我建议您坚持使用自己的代码。
, 在PHP 5.3中,可以将array_filter与闭包结合使用:
$nonZeroes = array_filter($yourArray,function ($value) {
return $value;
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。