Php 向mysql添加多维数组
嗨,我有多维数组:Php 向mysql添加多维数组,php,arrays,json,Php,Arrays,Json,嗨,我有多维数组: Array ( [0] => Array ( [name] => uzsakymas [value] => title ) [1] => Array ( [name] => preke [value] => name ) [2] => Array ( [name] =>
Array
(
[0] => Array
(
[name] => uzsakymas
[value] => title
)
[1] => Array
(
[name] => preke
[value] => name
)
[2] => Array
(
[name] => kaina
[value] => 5
)
[3] => Array
(
[name] => kiekis
[value] => 1
)
[4] => Array
(
[name] => preke
[value] => name2
)
[5] => Array
(
[name] => kaina
[value] => 5
)
[6] => Array
(
[name] => kiekis
[value] => 5
)
)
但当我尝试获取添加到mysql的值时,我得到了一个错误。我做错了什么
$json = json_decode($_POST['json'], true);
print_r($json);
foreach($json as $key => $name) {
echo $name['preke'];
}
未定义索引:preke in
呼应
$name['preke']代码>不会让你走多远。试试$name['name']代码>作为名称
是关键 试试看:
$name['name'];
$name变量是包含两个关联项的数组:name、value 您是否尝试过echo$name['name']代码>?通过这种方式,我可以获得所有名称,但如何通过名称获得特定值?好的,您可以使用第一个dim键作为名称,或者您必须知道第一个dim键。因此,对于preke
,第一个dim键是4。因此,如果您执行echo$json[4]['name']
将返回preke
。这也意味着您不需要一个foreach
循环,因为您直接进入所需的值,也不需要循环所有元素。它只返回名称,但我需要获取所有包含name:preke的值。它多次返回相同的值。例如name2name2name2name2name2name2notname1name2
这是因为它在foreach
循环中,循环通过每个元素。因为有7个元素,所以它将运行该代码7次。将代码从foreach
循环中取出。如果要打印所有名称/值,请按照我前面所说的那样,$name['name']在foreach
循环中的code>。