PHP-JSON数组可以';t返回与没有索引的名称关联的值
我有一个json数组,如下所示:PHP-JSON数组可以';t返回与没有索引的名称关联的值,php,arrays,json,Php,Arrays,Json,我有一个json数组,如下所示: [{"name":"title_one","value":"something"},{"name":"title_two","value":"something 2"},{"name":"title_three","value":"something three"}] $configfile = '[{"name":"title_one","value":"something"},{"name":"title_two","value":"something
[{"name":"title_one","value":"something"},{"name":"title_two","value":"something 2"},{"name":"title_three","value":"something three"}]
$configfile = '[{"name":"title_one","value":"something"},{"name":"title_two","value":"something 2"},{"name":"title_three","value":"something three"}]';
$configarray = json_decode($configfile, true);
$configarray = array_combine(array_column($configarray, 'name'), array_column($configarray, 'value'));
$valueone = $configarray['title_one'];
$valuetwo = $configarray['title_two'];
$valuethree = $configarray['title_three'];
我可以像这样获取数组和访问值:
$configarray = json_decode($configfile, true);
$valueone = $configarray[0]['value'];
$valuetwo = $configarray[1]['value'];
$valuethree = $configarray[2]['value'];
但在这个json中,我在不同的时间会有不同的对(因此顺序也不同),所以我想通过获取它们的关联名称来访问这些值,我尝试了以下方面的变化:
$valueone = $configarray['title_one']['value'];
$valuetwo = $configarray['title_two']['value'];
$valuethree = $configarray['title_three']['value'];
但它失败了,并告诉我我有一个未定义的索引。如何通过对中的名称访问这些值?$configarray的输出为 排列 ( [0]=>stdClass对象 ( [名称]=>标题\u一 [价值]=>什么 ) ) 这就是你过不去的原因
$valueone = $configarray['title_one']['value'];
$valuetwo = $configarray['title_two']['value'];
$valuethree = $configarray['title_three']['value'];
使用foreach可以将值分配给新变量
foreach($config as $conf){
echo $conf->value; echo "</br>";
}
foreach($config as$conf){
echo$conf->value;echo“”;
}
假设每个json对象内部只有两个属性,可以执行以下操作:
[{"name":"title_one","value":"something"},{"name":"title_two","value":"something 2"},{"name":"title_three","value":"something three"}]
$configfile = '[{"name":"title_one","value":"something"},{"name":"title_two","value":"something 2"},{"name":"title_three","value":"something three"}]';
$configarray = json_decode($configfile, true);
$configarray = array_combine(array_column($configarray, 'name'), array_column($configarray, 'value'));
$valueone = $configarray['title_one'];
$valuetwo = $configarray['title_two'];
$valuethree = $configarray['title_three'];
foreach()
loop?为此,您必须在key=>value对中重新格式化数组,以使title\u one
成为键,而某物
成为相应的值。您知道如何做吗?这是在序列化表单并保存post数据后写入文件的方式…完成了,谢谢!!(以前从未使用过array_combine,非常有用)