我有一个json_decode数组,可以使用foreach像这样访问值:

foreach ($prodvariants["result"]["sync_variants"] as $variant) {
                echo  $product_name = $variant['product']['name'];
            }

这很好。

但是,如果我不需要foreach怎么办?如何在没有forloop的情况下访问相同的值?

我试过了

$variant =$prodvariants["result"]["sync_variants"];
echo $product_name = $variant['product']['name'];

但是当我这样尝试时,没有foreach,我得到了错误

Notice: Undefined index: product

分析解答

您错过了一把钥匙。

echo $product_name = $variant[0]['product']['name'];
                             ^^^

如果JSON具有数字键,则为[0]。如果您正在使用其他键,只需对其进行更改。

但是没有任何循环(foreach,foreach和while),您无法在一行代码中访问所有变体。您只能选择一个记录。这是non-sense,可以循环输出。