Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何对json解码数组使用foreach进行循环_Php_Arrays_Foreach_Foreign Keys - Fatal编程技术网

Php 如何对json解码数组使用foreach进行循环

Php 如何对json解码数组使用foreach进行循环,php,arrays,foreach,foreign-keys,Php,Arrays,Foreach,Foreign Keys,我需要从每个主阵列获取ID。我使用以下方法解码json得到此数组: Array ( [id] => 7.8803211967429E+17 [title] => Example T-Shirt [body_html] => [variants] => Array ( [0] => Array ( [id] => 6.

我需要从每个主阵列获取ID。我使用以下方法解码json得到此数组:

Array
(
    [id] => 7.8803211967429E+17
    [title] => Example T-Shirt
    [body_html] => 
    [variants] => Array
        (
            [0] => Array
                (
                    [id] => 6.4266704147271E+17
                )

            [1] => Array
                (
                    [id] => 7.576504846442E+17
                    [product_id] => 7.8803211967429E+17
                )

        )

    [options] => Array
        (
            [0] => Array
                (
                )

        )

)

如果数组中的元素数量更多,则可以使用以下代码段。这个
foreach
循环遍历所有数组,并给出每个数组键的值。在这里,您可以选择任何值,如标题、id、供应商、产品类型等

如果您想访问
id
内部
variants
,请使用下面的代码

<?php

    set_time_limit(0);
    $json = file_get_contents('imarasoft.net/imarasoft/abd/WebHook/response.txt');
    $arrays = json_decode($json, true);
    print_r($arrays);
    foreach ($arrays as $array) {
        echo $array["id"];
    }
如果您只想访问root
id
,那么只需要执行一行代码片段

$json = file_get_contents('http://imarasoft.net/imarasoft/abd/WebHook/response.txt');
$arrays = json_decode($json, true);
foreach ($arrays["variants"] as $array) {
    echo $array["id"];
}

你得到的是单个数组吗?实际上,我会在一个文件中附加许多JSON。我所需要的只是从每个json中获取ID。为此,我对其进行解码,并尝试获取ID中的值,但我现在无法在txt中仅获取一个jsonfile@AbdulRahman请把这些信息放在你的问题里,最好给出完整的“故事”,而不是在评论中以片段的形式给出。只需使用
foreach
循环遍历数组,就可以了解您尝试了哪些内容,哪些内容不起作用?如果您有一个数组,只需执行
$array['id']
,如果您有多个数组,只需执行
foreach($array作为$array的多个数组){echo$array['id'];}
,否?非法字符串偏移量'id'您想在变量中获取id吗?如果我理解foreach是无用的,因为他的JSON数组是一个数组,那么他只有
$array中有多个数组['variants']
所以他应该做
echo$array['id']
,他会得到
7.880321967429e+17
,如果你想得到root
id
那么你可以使用
$arrays['id']
。如果你想在
variants
内部使用
id
那么你必须使用
foreach($arrays['variants]]as$array){echo$array[“id”];}
echo $arrays["id"];