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>。