【问题标题】:Php returning null [duplicate]PHP返回null [重复]
【发布时间】:2024-09-06 04:15:01
【问题描述】:

为什么这段代码返回 null?

public function getPrice($crawler){
        $price = '';

            $crawler->filter('#j-sku-price')->each(
            function ($node) {
            $price = $node->text();
            });

return $price;

如果我这样写

public function getPrice($crawler){
        $price = '';

            $crawler->filter('#j-sku-price')->each(
            function ($node) {
            $price = $node->text();
                print($price);
            });

它有效。但我想在最后返回 $price。

【问题讨论】:

  • 它是你函数的作用域,要允许写入初始化值$price(父作用域),使用use关键字并将其导入闭包。 function ($node) use (&$price) 喜欢这样

标签: php


【解决方案1】:

您将获得 $price_array 中的价格

$price_array = '';
public function getPrice($crawler {
    $crawler->filter('#j-sku-price')->each(function($node) {
        $price = $node->text();
        array_push($price_array,$price);
    });
    return $price_array;
}

【讨论】: