如何搜索多维关联数组php

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

使用api我得到了多维数组php。我想用一个简单的代码php从中提取数据。我这样从数组中提取数据:

var_dump ($obj['product']);



echo $prise = ($obj['product']['return']['ProductsItem']['0']['Article']);

echo $Brand = ($obj['product']['return']['ProductsItem']['0']['Brand']);

echo $Currency = ($obj['product']['return']['ProductsItem']['0']['Currency']);

echo $Name = ($obj['product']['return']['ProductsItem']['0']['Name']);

echo $StockItem = ($obj['product']['return']['ProductsItem']['0']['Stock']['StockItem']['0']['Price']);

echo $StockItem = ($obj['product']['return']['ProductsItem']['0']['Stock']['StockItem']['0']['TransferTime']);


echo $StockItem1 = ($obj['product']['return']['ProductsItem']['0']['Stock']['StockItem']['0']['Count']);

echo $StockItem2 = ($obj['product']['return']['ProductsItem']['0']['Stock']['StockItem']['1']['Count']);


如何简化代码?数组中的数据如何更改?

php arrays function class php-7
2个回答
0
投票
<?php

foreach ($obj['product']['return']['ProductsItem'] as $productsitem) {
    $article = $productsitem['Article'];
    $brand = $productsitem['Brand'];
    $currency = $productsitem['Currency'];
    $name = $productsitem['Name'];
    foreach ($productsitem['Stock']['StockItem'] as $stockitem) {
        $price = $stockitem['Price'];
        $transfertime = $stockitem['TransferTime'];
        $count = $stockitem['Count'];
    }
}

0
投票

假设您想要的所有键值对都在$obj["product"]["return"]["ProductsItem"]$obj["product"]["return"]["ProductsItem"]["Stock"]["StockItem"]中:

$prodItem = $obj["product"]["return"]["ProductsItem"];
foreach($prodItem as $key => $value){
    echo !is_array($value) ? $key.": ".$value ."\r\n": "";
    if($key === "Stock"){
        echo "Stock:\r\n";
        foreach($prodItem[$key]["StockItem"] as $key => $value){
             echo !is_array($v) ? "\t".$key.": ".$value."\r\n" : "";             
        } 
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.