我得到了这个
$data = json_decode($json, true)["value1"];
之后我将对名称值的响应排序:
foreach($data as $test) {
echo $test['name'];
}
这显示了我需要的所有名字,这完美无缺。
Output: name1 name2 name3
问题: 我有什么办法,在新的单个变量中获取foreach输出,所以我可以通过脚本的其余部分使用它们?
Expl.: $name_1 = name1;
也许我完全错了。
非常感谢一位写下他的第一个项目的新手。答案 0 :(得分:3)
这应该是你要找的东西:
$i = 1;
foreach($data as $test) {
${'name_'.$i++} = $test['name'];
}
虽然为此使用数组几乎总是更好的选择。
答案 1 :(得分:0)
如果您对json数组感到不舒服,可以将值推送到新数组:
$names = array();
foreach($data as $value)
{array_push($names,$value['name']);}
但是动态创建变量并像数组一样使用它们通常不是一个好方法。从字面上看,那是什么数组用于。
答案 2 :(得分:0)
在考虑到你的答案之后,我尝试了另一步,现在我得到了一个阵列中我需要的所有数据,我可以访问每个单个数据。
$data = json_decode($json, true)["value1"];
$value_names = array();
foreach($data as $value)
{
$value_names[]=$value{'name'};
}
所以现在数组中的所有数据:
array(8) { [0]=> string(6) "name" [1]=> string(6) "name" [2]=> string(10) "name" [3]=> string(12) "name" [4]=> string(12) "name" [5]=> string(9) "name" [6]=> string(13) "name" [7]=> string(4) "name" }
如果我解决这个问题我会得到更多的问题:)但是在我问之前我会自学,所以我练习我的技能。非常感谢社区!!!