PHP数组多维关联

时间:2015-08-27 13:43:13

标签: php multidimensional-array

$_REQUEST = array(
    'articolo' => array(
        1 => 1,
        3 => 'Sostituzione sostituzioni',
        4 => 'Cambio olio'
    ),
    'specifica' => array(
        1 => 2,
        3 => 'Camoin',
        4 => 'Furgone'
    ),
    'quantita' => array(
        1 => 3,
        3 => 5,
        4 => 7
    )
);

我需要像这样插入数据库

$_REQUEST['articolo'][1]
$_REQUEST['specifica'][1]
$_REQUEST['quantita'][1]

在数据库行和

$_REQUEST['articolo'][3]
$_REQUEST['specifica'][3]
$_REQUEST['quantita'][3]

在另一行上......

$_REQUEST['articolo'][4]
$_REQUEST['specifica'][4]
$_REQUEST['quantita'][4]

我只是想知道如何逐行制作另一个数组

我需要打印

1 -> $_REQUEST['articolo'][1]
2 -> $_REQUEST['specifica'][1]
3 -> $_REQUEST['quantita'][1]

Sostituzione sostituzioni -> $_REQUEST['articolo'][3]
Camoin -> $_REQUEST['specifica'][3]
5 -> $_REQUEST['quantita'][3]

Cambio olio -> $_REQUEST['articolo'][4]
Furgone -> $_REQUEST['specifica'][4]
7 -> $_REQUEST['quantita'][4]

感谢

2 个答案:

答案 0 :(得分:0)

你需要这样的东西:

foreach ($request as $key => $value)
{
    $request[$key][1]   //row1
    $request[$key][3]   //row2
    $request[$key][4]   //row3
}  

编辑根据评论:
如果数组是动态的(你不知道子数组的键),你可以这样做:

foreach ($request as $key => $value)
{
    foreach ($request[$key] as $key2 => $value2)
    {
       $request[$key][$key2] //here are your values
    }
} 

现在你知道如何正确地做到这一点?使用foreach内的值将数据添加到数据库

答案 1 :(得分:0)

$name = array_keys($_REQUEST);
$index = array_keys($_REQUEST['articolo']);

for($i=0; $i < count($index); $i++):
    if($i + 1 % count($index)):
        for($j=0; $j < count($name); $j++):
            echo $name[$j].': '.$_REQUEST[$name[$j]][$index[$i]].'<br>'."\n";
        endfor;
        echo '<hr>';
    endif;
endfor;

立即输出

articolo:1 具体:2 quantita:3

articolo:Sostituzione sotituzioni 具体来说:Camoin quantita:5

articolo:Cambio olio 具体来说:Furgone quantita:7

现在只需要在数据库中插入纵坐标数据