【问题标题】:How to get a value of associative array in php如何在php中获取关联数组的值
【发布时间】:2020-03-18 23:08:43
【问题描述】:

我在 PHP 中有一个如下所示的关联数组

输入数组

 Array
    (
        [0] => Array
            (
                [id] => 11304
                [price] => 5
            )

        [1] => Array
            (
                [id] => 1234
                [price] => 10
            )

    )

如何访问“id”和“price”的值?

我试过了

foreach ($final_atas as $key =>$value) {
    echo 'key ----------'.$key.'<br>'; // output 0 and 1
    echo 'price ----------'.$value['price'].'<br>'; // output 5 and 10
    echo 'price ----------'.$value['id'].'<br>';//getting error undefined index id
    echo '<pre>';
    print_r($value);
    echo '</pre>'; 
}

它们都只返回价格值而不是 id 并抛出错误 注意:未定义索引:id

id --------
price -------- 5
id --------
price -------- 10
Array
(
    [id] => 11304
    [price] => 5
)
Array
(
    [id] => 12034
    [price] => 10
)

预期结果

id --------  11304
price -------- 5
id --------   1234
price -------- 10

var_dump

array(2) {
  [0]=>
  array(2) {
    ["id"]=>
    string(5) "11304"
    ["price"]=>
    string(1) "5"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(4) "1234"
    ["price"]=>
    string(2) "10"
  }
}

【问题讨论】:

  • 你能告诉我们var_dump($final_atas)吗,可能在某处有一个奇怪的字节
  • @RiggsFolly 我已经更新了我的问题,请检查并帮助我
  • array(2) { [0]=> array(2) { ["id"]=> string(5) "11304" ["price"]=> string(1) "5 " } [1]=> array(2) { ["id"]=> string(4) "1234" ["price"]=> string(2) "10" } }
  • 不可能!!!!!
  • 我在获得价格价值的同时没有获得 id 的价值

标签: php multidimensional-array


【解决方案1】:

试试这个,但是在一个新的文件中

$final_atas = [
    [
        'id' => 11304,
        'price' => 5,
    ],
    [
        'id' => 1234,
        'price' => 10
    ]
];

foreach ($final_atas as $key =>$value) {
    echo 'key ----------'.$key.'<br>'; // output 0 and 1
    echo 'price ----------'.$value['price'].'<br>'; // output 5 and 10
    echo 'price ----------'.$value['id'].'<br>';//getting error undefined index id
    echo '<pre>';
    print_r($value);
    echo '</pre>'; 
}

这很可能会奏效,我复制了您提供的相同 foreach 循环。

我相信您正在使用 SQL 查询来获取数据,在这种情况下,请使用您正在尝试的查询和数据库中的表结构更新问题。

【讨论】:

    【解决方案2】:

    下面,$a 包含嵌套数组的第一个元素,$b 包含第二个元素。

    $array = [
        [1, 2],
        [3, 4],
    ];
    
    foreach ($array as list($a, $b)) {
        // $a contains the first element of the nested array,
        // and $b contains the second element.
        echo "A: $a; B: $b\n";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多