在foreach循环中使用数组变量

3

我正在尝试在foreach循环中使用函数变量,以便我可以执行以下操作,但它无法正常工作。

$var =

array(7) { [0]=> array(3) { ["listingId"]=> int(532712629) } [1]=> array(3) { ["listingId"]=> int(532712202) }

可以工作但不正确:

foreach($var as $varr)
{
  var_dump($varr['id']);
{

目标 - 将数组变量作为foreach的值

    foreach($var['id'] as $item)
    {
       if($item === $foo)
      {
      }
   }

你的$var数组长什么样子?你现在正在尝试解析一个多维数组。如果你能展示一下$var的内容以及当你执行var_dump($varr['id']);时得到的结果,我们就能更好地理解该怎么做了。 - Stegrex
假设 $varr 是你的数组,那么你的 foreach 循环是反向的。语法应该是 foreach($array as $key => $value) - Marc B
@Stegrex 我已经更新了我的问题,附带了数组。 - Jess McKenzie
@BrianGlaz 我该如何实现我的目标? - Jess McKenzie
@MarcB 不是的,我想要一个基于ID的foreach。 - Jess McKenzie
显示剩余3条评论
2个回答

2
这将循环遍历你的$var数组中的数组:
foreach ($var as $k=> $v){
   foreach ($v as $k2=> $v2){
      echo $k2." ".$v2;
   }
}

在for each循环中,$k将返回数组键(数字或文本),而$v将返回值。在大多数情况下,您可以使用print_r($array);输出数组的内容。


0

试试这个:

foreach($var[0] as $varr)
{
  echo $varr->listingid;
}

从你的代码中,$varr 应该是一个整数,而不是一个对象。 - zerkms
如果属性“listingid”不存在怎么办?如果$var不是一个对象怎么办? - Yang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接