无法访问每个 PHP 中的变量值


unable to access variable value in foreach php

$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