对这个PHP代码感到困惑

时间:2013-10-02 15:18:13

标签: php foreach

foreach($items as $value)
{
   if($value['item1']=='somestring')
   { 
       // some PHP code...
   }
}

不应$value引用$items数组中的每个值。 $value['item1']是什么意思?这是否意味着$items是一个多维数组还是什么?

5 个答案:

答案 0 :(得分:8)

这意味着$ value是一个数组,因此$ items是一个多维数组。

答案 1 :(得分:1)

arraysobjects that emulate them使用$foo[]语法(如果这是你的意思)。索引可以是整数或字符串。正如您已经指出的那样,PHP允许多维数组。

答案 2 :(得分:0)

如果您打印$ key和$ value,那么显示出良好的结果

foreach($items as $key=>$value) // $items contain array mean multidimensional
    {
        print_r($value);
        print($key);//$key is index value

        //item1 is array element and $value is array exist in $items
        if($value['item1']=='somestring') 
           { 
             some PHP code...
          }
    }

所以$ items多维数组和$ value数组存在于$ items数组中,这是$ items多维数组

答案 3 :(得分:0)

这意味着$items是一个多维数组。

它循环了。

它具有以下结构:

array(
0 => array('item1' => 'something'),
1 => array('item1' => 'something1')
);

通过这段代码,我们在声明中循环,

foreach($items as $value)

我们正在获取内部数组01,..等等。

在第if($value['item1']=='somestring')行中,我们得到的数组元素为01,依此类推。

希望你明白。

答案 4 :(得分:0)

  1. 'item1'是数组$value中其中一个元素的关键。
  2. 所以是的,这使得$items成为一个多维数组。
  3. 如果没有找到运行代码的错误,则以上所有内容均为真。