【发布时间】:2014-11-17 14:39:24
【问题描述】:
我有一个数组,我想通过一个外部变量对其进行过滤。 情况如下:
$id = '1';
var_dump($id);
$foo = array_filter($bar, function($obj){
if (isset($obj->foo)) {
var_dump($id);
if ($obj->foo == $id) return true;
}
return false;
});
第一个 var_dump 返回 ID(当然是动态设置的),但是,第二个 var_dump 返回 NULL。
谁能告诉我为什么,以及如何解决?
【问题讨论】:
-
什么是$bar,$bar的价值是什么
-
@NitishKumar
$bar通常是一个数组 -
@php-dev 我们可以说它绝对是一个数组,因为它不会抛出 PHP 错误。它可能不总是绝对是一个数组,具体取决于代码,但它绝对是一个用例中的数组,他得到了 OP 中描述的错误
-
对不起,确实是有ID的数组。
标签: php scope array-filter