簡體   English   中英

如何遍歷 PHP 中的 JSON 輸出並僅選擇第二個鍵 => 值?

[英]How can I iterate through JSON output in PHP and pick just the second key => value?

如何遍歷此 JSON 輸出並將“hersteller”值放入數組並打印出來? 我是否只需要一個 for 循環塊或帶有 $i 和 $j 的嵌套 for 循環?

[
    {
        "id": 2,
        "hersteller": "bmw",
        "modell": "{modell}",
        "baujahr": "2015",
        "artikelname": "nockenwelle",
        "ekpreis": 149,
        "verkpreis": 349,
        "mengeverfuegbar": 8
    },
    {
        "id": 3,
        "hersteller": "audi",
        "modell": "{modell}",
        "baujahr": "2018",
        "artikelname": "kotfluegel",
        "ekpreis": 89,
        "verkpreis": 249,
        "mengeverfuegbar": 4
    },
    {
        "id": 4,
        "hersteller": "mercedes",
        "modell": "{modell}",
        "baujahr": "2019",
        "artikelname": "getriebe",
        "ekpreis": 299,
        "verkpreis": 859,
        "mengeverfuegbar": 3
    }
]

謝謝 :)

$arr = json_decode($str, true);  //converts JSON string into array
$arr_hersteller = array_column($arr, 'hersteller'); //returns an array containing "hersteller" values
<?php
$json = '[
{
"id": 2,
"hersteller": "bmw",
"modell": "{modell}",
"baujahr": "2015",
"artikelname": "nockenwelle",
"ekpreis": 149,
"verkpreis": 349,
"mengeverfuegbar": 8
},
{
"id": 3,
"hersteller": "audi",
"modell": "{modell}",
"baujahr": "2018",
"artikelname": "kotfluegel",
"ekpreis": 89,
"verkpreis": 249,
"mengeverfuegbar": 4
},
{
"id": 4,
"hersteller": "mercedes",
"modell": "{modell}",
"baujahr": "2019",
"artikelname": "getriebe",
"ekpreis": 299,
"verkpreis": 859,
"mengeverfuegbar": 3
}
]';
//convert json to array json_decode(array, true) 
//this true mean convert it to array instead of object
$array = json_decode($json, true);

//create new empty array
$hersteller = array();

//iterate
foreach($array as $key => $val){
  if(isset($val['hersteller'])){
    $hersteller[] = $val['hersteller'];  
  }
}

echo "<pre>";
//print the array
print_r($hersteller);

在“codeit”的幫助下,我做了以下解決了我的問題:

$output = array();

$urlContents = file_get_contents(#Here is a URL to get the JSON value#);

$bestandspflegeArray = json_decode($urlContents, true);
$hersteller = array_column($bestandspflegeArray, 'hersteller');

for ($i=0; $i < count($hersteller); $i++) { 
            $output[] = $hersteller[$i];  
        }

echo json_encode($output);

謝謝 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM