我有以下代码
$newsheadline = array();
$crawler->filter('p.title > a')->each(function ($node) {
array_push($newsheadline, htmlentities($node->text()));
});
这给了我警告
array_push() expects parameter 1 to be array, null given
答案 0 :(得分:2)
变量范围:$newsheadline
不适用于你的闭包,所以你需要use
它...并且因为你在闭包中修改它,你需要传递它通过引用
$crawler->filter('p.title > a')->each(
function ($node) use (&$newsheadline) {
array_push($newsheadline, htmlentities($node->text()));
}
);
答案 1 :(得分:0)
试试这个:
$newshaedline = array();
$crawler->filter('p.title > a')->each(function ($node) {
array_push($newsheadline, htmlentities($node->text()));
});
我认为不需要在同一个数组中再次保存它:$ newsheadline