首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在匿名函数中更新数组不起作用

在匿名函数中更新数组不起作用
EN

Stack Overflow用户
提问于 2016-07-17 02:31:45
回答 1查看 150关注 0票数 0

我正在尝试使用一个名为Goutte (php scraper/web-crawler)的包,如下所示:

代码语言:javascript
复制
<?php

// Init
require_once 'vendor/autoload.php';
use Goutte\Client;
$client = new Client();
$reviews = array();

// Parse Review Site
$crawler = $client->request('GET', 'http://review-site-url-here');
$crawler->filter('div.review')->each(function($node) use ($reviews)
{
    // Parse Data
    $player_name = $node->filter('tr.switch > td > a')->first()->text();
    // other fields

    // Build Reviews
    array_push($reviews, [
        'player_name' => $player_name,
        // other fields
    ]);
});

// Debug
echo "<pre>";
print_r($reviews);

当此脚本运行时,$reviews数组始终为空。但是,如果我在匿名函数中使用print_r,它似乎只显示每个循环中的当前元素。例如,如果有4条评论,我这样做:

代码语言:javascript
复制
// Parse Review Site
$crawler = $client->request('GET', 'http://review-site-url-here');
$crawler->filter('div.review-BL-mid')->each(function($node) use ($reviews)
{
    // Parse Data
    $player_name = $node->filter('tr.switch > td > a')->first()->text();
    // other fields

    // Build Reviews
    array_push($reviews, [
        'player_name' => $player_name,
        // other fields
    ]);

    // Debug
    print_r($reviews);
});

它的输出如下:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [player_name] => aaaa
        )

)
Array
(
    [0] => Array
        (
            [player_name] => bbb
        )

)
Array
(
    [0] => Array
        (
            [player_name] => ccc
        )

)
Array
(
    [0] => Array
        (
            [player_name] => ddd
        )

)

就像匿名函数中的数组永远不会被更新一样。你知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-17 02:33:44

好吧..。在发布了这篇文章并尝试了一些东西后,我很快就意识到了这个问题。似乎我需要通过引用传递数组变量$reviews,这样才能正常工作;

代码语言:javascript
复制
$crawler->filter('div.review')->each(function($node) use (&$reviews) {
   // ...
});

希望这对其他人有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38414321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档