如何在php中推送到多维数组?

时间:2013-06-24 14:51:55

标签: php multidimensional-array

我需要一个简单的多维数组,但不知道如何推送它。 我需要存储一个字符串,然后是一个整数。

string(邮政编码)然后我的整数。

93801,123

$zips = array();
$i = 1;

if(isset($_POST['zip' + $i])) {
    array_push($zips, $_POST['zip' = $i] $_POST['fed' + $i]);
    $i++;
}

我在推送线上遇到语法错误,但是如果我添加一个逗号,它只会使两个项目分开。

3 个答案:

答案 0 :(得分:3)

使用int array_push ( array &$array , mixed $var [, mixed $... ] )来获取可变数量的参数,例如

array_push($zips, $_POST['zip' . $i], $_POST['fed' . $i]);

答案 1 :(得分:2)

将值放入包含array()的数组中,然后将其推送到$zips数组中。

array_push($zips, array($_POST['zip' + $i], $_POST['fed' + $i]));

正如insertusernamehere所提到的,您可能希望$_POST['zip' . $i]进行连接:)

答案 2 :(得分:2)

您可以将其作为新数组推送到最后:

$zips[] = array($_POST['zip' + $i], $_POST['fed' + $i]);

我猜您的意思是$_POST['zip' + $i]而不是$_POST['zip' = $i],您也可以检查$_POST['fed' + $i]是否存在。并且还记得+不是PHP中字符串的串联。这将始终导致$i。您可以使用var_dump('fed' + $i);进行检查。如果您希望$_POST['fed1']改为使用$_POST['fed' . $i]