如何获取PHP数组中元素的值

时间:2015-11-09 14:38:55

标签: php

如何在最后一个分支中引用价格?

我已尝试过$ arr [' line'] [' line1'] [' price'],但我收到了错误消息。引用的正确方法是什么?

 array (size=100)
0 => 
array (size=34)
  'id' => string '1' (length=1)
  'invoicenr_full' => string 'dsf' (length=7)
  'invoicenr' => string 'fsd' (length=7)
  'reference' => 
    array (size=3)
      'line1' => string 'fsde' (length=20)
      'line2' => string 'sfsdfd' (length=31)
      'line3' => string 'dfsds' (length=45)
  'lines' => 
    array (size=1)
      'line1' => 
        array (size=7)
          'amount' => string '1' (length=1)
          'amount_desc' => string '' (length=0)
          'description' => string 'sdfsdf'
          'tax_rate' => string '21' (length=2)
          'price' => string '150' (length=3)
          'discount_pct' => int 0
          'linetotal' => int 150

3 个答案:

答案 0 :(得分:3)

如果这是对结构的准确描述: $arr[0]['lines']['line1']['price']

其中0是第一级的索引。

答案 1 :(得分:1)

要访问您的元素,您可以执行以下操作:

$price = $arr[0]['lines']['line1']['price'];

另外,如果你的第一级" [0]"没用,你可以使用array_shift($arr);

然后你会像这样访问你的元素:

$price = $arr['lines']['line1']['price'];

答案 2 :(得分:0)

如果您不想使用零索引,也可以使用array_shift

$theArray = array_shift($theArray);

这将允许您访问任何数组元素,并且您不必使用第一个元素" [0]"这样的关键:

$theArray['lines']['line1']['price']