我有以下 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'];
}
}
循环运行四次的原因是您正在循环遍历 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>";
}
}
}