在for循环中创建二维数组

时间:2014-04-16 08:07:53

标签: php arrays for-loop

我想在for循环中创建一个数组,这样我就可以调整数组的大小($ i)。 我试过这个:

$array = array();
for($i = 1; $i <= 5; $i++) {
    array_push($array,
        $i => array(
            "id" => "",
            "option" => ""
        ) 
    );
}

但是我收到以下错误:

  

解析错误:语法错误,意外'=&gt;' (T_DOUBLE_ARROW)in ...

我也尝试通过在第4行执行$i.""来使其成为字符串,但这似乎也不起作用。有谁知道为什么?

3 个答案:

答案 0 :(得分:3)

试试这个:

$array = array();
for($i = 1; $i <= 5; $i++) {
    $array[$i] = array(
            "id" => "",
            "option" => ""
        );
}

答案 1 :(得分:3)

更惯用的是:

$array = array();
for($i = 1; $i <= 5; $i++) {
    $array[$i] = array(
                "id" => "",
                "option" => "") ;
}

但请注意,这将为您提供1-5的数组索引。数组通常从0开始索引:

$array = array();
for($i = 0; $i < 5; $i++) {
    $array[$i] = array(
                "id" => "",
                "option" => "") ;
}

但是这可以在不指定密钥的情况下完成:

$array = array();
for($i = 1; $i <= 5; $i++) {
    $array[] = array(
                "id" => "",
                "option" => "") ;
}

答案 2 :(得分:1)

删除$i =>

$array = array();
for($i = 1; $i <= 5; $i++) {
    array_push($array, array(
            "id" => "",
            "option" => ""
        ) 
    );
}