Alv*_*ker 4 php laravel eloquent laravel-5
这太奇怪了.第一个没有打印,而如果我做一个die附加了一些随机文本,它打印出来id.有人可以解释一下吗?
这是有效的:
$product_ids = ProductToOption::groupBy('product_id')->get(['product_id']);
foreach($product_ids as $product_id) {
die("id: ".$product_id->product_id);
array_push($filter_array, $product_id->product_id);
}
Run Code Online (Sandbox Code Playgroud)
但这个不是:
$product_ids = ProductToOption::groupBy('product_id')->get(['product_id']);
foreach($product_ids as $product_id) {
die($product_id->product_id);
array_push($filter_array, $product_id->product_id);
}
Run Code Online (Sandbox Code Playgroud)
如果传递给die()的值是int,则不会打印它,而是用作执行脚本的进程的返回代码 - 有关详细信息,请参阅http://php.net/manual/en/function.exit.php.
当你将int与id连接时:字符串被传递给die()而不是整数,这就是为什么它会导致id:1被打印.
从手册上exit():
如果状态是一个字符串,这个函数打印在退出前的状态.
如果status是整数,则该值将用作退出状态而不打印.退出状态应在0到254范围内,退出状态255由PHP保留,不得使用.状态0用于成功终止程序.
注意:如果PHP> = 4.2.0是整数,则不会打印状态.