从辅助函数返回或回显一个值就是给该值加上一个“a”;空";PHP
目前,我创建了一个帮助函数,通过检查一个.xlxs价格文件来计算产品价格,该文件有两列,a表示天数,B表示该行的价格 现在,在我显示价格的报价页面上,这一切都很好,但是当我在处理付款时再次运行检查以确保价格正确时,我会得到不同的返回值。完全相同的数据将进入完全相同的辅助函数 例如,我的产品显示页面上的响应将显示价格值,例如“40”。但当我在BookingController上调用它时(使用laravel),我得到“40”,然后在它下面的另一个简单地说“null”。这使我无法计算一个价格,将其转换为美分/便士,用于stripe,因为它表示无效的正整数 我已经做了一些调试,当我在helper函数中添加$price时,它只返回“40”,但当我在控制器中的变量上添加dd时,它会显示一个无效的变量,该变量下面有price和“null” 你知道这是怎么回事吗 我试着在helper函数中返回值,我也试着回显并打印它,都是同样的问题。我现在将向您展示我的代码:从辅助函数返回或回显一个值就是给该值加上一个“a”;空";PHP,php,laravel,Php,Laravel,目前,我创建了一个帮助函数,通过检查一个.xlxs价格文件来计算产品价格,该文件有两列,a表示天数,B表示该行的价格 现在,在我显示价格的报价页面上,这一切都很好,但是当我在处理付款时再次运行检查以确保价格正确时,我会得到不同的返回值。完全相同的数据将进入完全相同的辅助函数 例如,我的产品显示页面上的响应将显示价格值,例如“40”。但当我在BookingController上调用它时(使用laravel),我得到“40”,然后在它下面的另一个简单地说“null”。这使我无法计算一个价格,将其转换
$price2 = (new \App\Price\GeneratePrice($duration, $base_price))->calculate();
这是helper函数
public function calculate()
{
$pricelist = '/public/pricelist.xlsx';
\Excel::load($pricelist, function ($reader) {
$days = $this->duration;
$base = $this->basePrice;
$array = $reader->select(array('days', 'price'))->toArray();
$size = sizeof($array);
if ($days > $size) {
$key = array_search($size, array_column($array, 'days'));
$diff = $this->duration - $size;
$k = $array[$key]['price'];
$baseprice = $base * $diff;
$price = $k + $baseprice;
echo $price;
}
else {
$key = array_search($days, array_column($array, 'days'));
$k = $array[$key]['price'];
$price = $k;
echo $price;
}
});
}
这就是我得到的回应
38
“NULL”您的“NULL”可能意味着您在测试某个东西时在某处留下了一个
echo
或var\u dump
。这通常是有多个输出的原因,而您只需要一个。我已经检查过了,但找不到任何东西。我发现“null”指的是在Excel::load之后不返回值。我想不出怎样才能把它退回来我已经想好了。我不会还的。我在构造函数中生成$price=$this->price,并返回$this->price;一切顺利。当你不断尝试时,你会发现:干得好!总是很高兴看到有人积极地尝试解决问题,而不是等待其他人为他们做脏活。你的“NULL”可能意味着你在测试某个东西时在某个地方留下了一个echo
或var\u dump
。这通常是有多个输出的原因,而您只需要一个。我已经检查过了,但找不到任何东西。我发现“null”指的是在Excel::load之后不返回值。我想不出怎样才能把它退回来我已经想好了。我不会还的。我在构造函数中生成$price=$this->price,并返回$this->price;一切顺利。当你不断尝试时,你会发现:干得好!总是很高兴看到有人积极地试图解决问题,而不是等待别人为他们做脏活。