$categories = DB::table('categories')->select('categoryid')->get();
foreach ($categories as $category)
{
$categoryid = $category->categoryid;
die($categoryid);//i am getting blank result here
}
var_dump($category->categoryid);
后我越来越int(5)
为什么我没有获得categoryid
作为5
的值?
如果你查看 php 的手册,你会发现var_dump将显示类型和值。
void var_dump ( mixed $expression [, mixed $... ] )
此函数显示有关一个或多个表达式的结构化信息,其中包括其类型和值。数组和对象以递归方式浏览,值缩进以显示结构。
得到int(5)
是正常的,这意味着$category->categoryid
的类型是int
的,$category->categoryid
的值是5
的。
die()
只是exit()
的参考。也就是说,死亡和退出都做完全相同的事情。
根据 exit() 的手册:
如果状态为字符串,则此函数在退出之前打印状态。
如果状态为整数,则该值将用作退出状态 而不是打印。退出状态应在 0 到 254 范围内, 退出状态 255 由 PHP 保留,不得使用。状态 0 用于成功终止程序。
因为您输出的是整数,所以它不会显示数字 5。相反,您可能应该执行以下操作:
die((string)$categoryid);
通过将其强制转换为字符串,可以强制die
构造将值输出为字符串,而不是将其作为状态代码返回。
另一种选择是echo
类别 ID,然后退出:
echo $categoryid;
exit