php foreach 循环从 json 数组循环一次

问题描述 投票:0回答:1

我有以下 JSON 代码。

{
  "Artikelnr":"1000",
  "Vooraad_NL":2.0,
  "Voorraad_DE":1.0,
  "Voorraad_BE":0.0
}

当我用 foreach 循环 json 时,它循环 4 次。我怎样才能让它只循环浏览文章数量。就像 1 篇文章只循环一次。当有3篇文章时,json循环3次。

我使用以下 php 代码:

$data = json_decode(file_get_contents('php://input'), true);

if ((isset($data) && $data != "") && (json_last_error() === JSON_ERROR_NONE)) {

foreach ($data as $key => $val) {
    $articlenumber = $data['Artikelnr'];
    $voorraad_nl = $data['Vooraad_NL'];
    $voorraad_de = $data['Vooraad_DE'];
    $voorraad_be = $data['Vooraad_BE'];
}

}
php json foreach
1个回答
0
投票

循环运行四次的原因是您正在循环遍历 JSON 对象中的键,并且您的 JSON 对象有四个键值对。如果您想根据“Artikelnr”键及其值循环浏览文章,那么您可以这样做:

$data = json_decode(file_get_contents('php://input'), true);

if (isset($data) && !empty($data) && json_last_error() === JSON_ERROR_NONE) {
    // Check if the data is an array
    if (is_array($data)) {
        foreach ($data as $article) {
            $articlenumber = $article['Artikelnr'];
            $voorraad_nl = $article['Vooraad_NL'];
            $voorraad_de = $article['Vooraad_DE'];
            $voorraad_be = $article['Vooraad_BE'];
            
            // Process each article here
            echo "Article Number: $articlenumber<br>";
            echo "Voorraad NL: $voorraad_nl<br>";
            echo "Voorraad DE: $voorraad_de<br>";
            echo "Voorraad BE: $voorraad_be<br><br>";
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.