Php 使用foreach循环创建新变量

Php 使用foreach循环创建新变量,php,json,loops,variables,foreach,Php,Json,Loops,Variables,Foreach,我知道了 $data = json_decode($json, true)["value1"]; 在此之后,我将响应排序为名称值: foreach($data as $test) { echo $test['name']; } 这显示了我需要的所有名字,这非常有效 Output: name1 name2 name3 问题: 我要做什么,以新的单变量获取foreach输出,以便在脚本的其余部分使用它们 Expl.: $name_1 = name1; 也许我完全错了 非常感谢一位写第一个

我知道了

$data   = json_decode($json, true)["value1"];
在此之后,我将响应排序为名称值:

foreach($data as $test) {
echo $test['name'];
}
这显示了我需要的所有名字,这非常有效

Output: name1 name2 name3
问题: 我要做什么,以新的单变量获取foreach输出,以便在脚本的其余部分使用它们

Expl.: $name_1 = name1;
也许我完全错了


非常感谢一位写第一个项目的新手。

这应该是你想要的:

$i = 1;
foreach($data as $test) {
    ${'name_'.$i++} = $test['name'];
}

尽管使用阵列进行此操作几乎总是更好的选择。

这应该是您要寻找的:

$i = 1;
foreach($data as $test) {
    ${'name_'.$i++} = $test['name'];
}

尽管为此使用数组几乎总是更好的选择。

如果您对json数组不满意,可以将值推送到新数组:

$names = array();
foreach($data as $value)
{array_push($names,$value['name']);}

但是动态创建变量并像数组一样使用它们通常不是一个好方法。从字面上说,这就是数组的用途。

如果您对json数组不满意,可以将值推送到新数组:

$names = array();
foreach($data as $value)
{array_push($names,$value['name']);}

但是动态创建变量并像数组一样使用它们通常不是一个好方法。从字面上说,这就是数组的用途。

非常感谢你们,我想我是在你们的启发下解决的

在考虑了你的答案之后,我尝试了另一个步骤,现在我在一个数组中获得了我需要的所有数据,我可以访问每个数据

$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" }

如果我解决了这个问题,我会有更多的问题:)但我会在提问之前先研究自己,所以我会练习我的技能。非常感谢社区

非常感谢你们,我想我是在你们的启发下解决的

在考虑了你的答案之后,我尝试了另一个步骤,现在我在一个数组中获得了我需要的所有数据,我可以访问每个数据

$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" }

如果我解决了这个问题,我会有更多的问题:)但我会在提问之前先研究自己,所以我会练习我的技能。非常感谢社区

为什么需要单个变量才能在脚本的其余部分使用它们?为什么你不能使用数组?编号变量坏,数组好!嗨,谢谢你的回答。在这一点上,我认为这是对我来说最简单的方法,或者我不知道更好的方法:)我想在HTML文件中使用“新变量”作为名称,仅用于echo,通过HTML文件标记多个表。Expl.:foreach循环中的新变量可能是$name_1。我想用它来标记表格的标题。更好的方法是在数组中使用它们,而不是重新分配它们。你可以直接与他们互动。例如,
$data[0]
将回显name1Hi,谢谢。是的,我知道这一点,并在项目中的其他脚本中运行。背景我想有一个动态脚本,从JSON中读取名称,这个值我需要对一些数据进行排序,并使用它们来创建新的请求。为什么需要单个变量才能在脚本的其余部分使用它们?为什么你不能使用数组?编号变量坏,数组好!嗨,谢谢你的回答。在这一点上,我认为这是对我来说最简单的方法,或者我不知道更好的方法:)我想在HTML文件中使用“新变量”作为名称,仅用于echo,通过HTML文件标记多个表。Expl.:foreach循环中的新变量可能是$name_1。我想用它来标记表格的标题。更好的方法是在数组中使用它们,而不是重新分配它们。你可以直接与他们互动。例如,
$data[0]
将回显name1Hi,谢谢。是的,我知道这一点,并在项目中的其他脚本中运行。背景我想有一个动态脚本,从JSON中读取名称,这个值我需要对一些数据进行排序,并使用它们来创建新的请求。