Php 如何对json解码数组使用foreach进行循环
我需要从每个主阵列获取ID。我使用以下方法解码json得到此数组: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.
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"];
}
如果您只想访问rootid
,那么只需要执行一行代码片段
$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
,如果你想得到rootid
那么你可以使用$arrays['id']
。如果你想在variants
内部使用id
那么你必须使用foreach($arrays['variants]]as$array){echo$array[“id”];}
echo $arrays["id"];