PHP循环+二维数组

时间:2015-06-01 17:00:22

标签: php arrays multidimensional-array

我正在尝试使用PHP创建一个二维数组,但仍然没有想到它。

$value = 3;

$sql = "SELECT country, capital  FROM world WHERE client = 2 ";

$myArray = array();

try {
    foreach ($connection->query($sql) as $row)
    {
        for($i=0; $i<$value; $i++){
            $myArray[$i] = array($row['country'], $row['capital']);
        }
    }
}

我尝试了函数&#34; array_push&#34;,但它不是获取特定值的最佳方式。

3 个答案:

答案 0 :(得分:0)

你不应该需要for循环:

$sql = "SELECT country, capital  FROM world WHERE client = 2 ";

$myArray = array();

foreach ($connection->query($sql) as $row) {
   $myArray[] = array("country" => $row['country'], "capital" => $row['capital']);    
}

答案 1 :(得分:0)

您正在循环查询的SINGLE结果。并且read()循环是完全不必要的:

read()

答案 2 :(得分:0)

您不需要for循环,因为您要在查询中指定列,只需对关联数组执行此操作:

foreach ($connection->query($sql, PDO::FETCH_ASSOC) as $row)
    $myArray[] = $row;
}

或者,如果你想要数字索引,那么:

$connection->query($sql, PDO::FETCH_NUM)

或许您想要访问$myArray['England']之类的内容并获取London?然后像这样构建数组:

foreach ($connection->query($sql, PDO::FETCH_ASSOC) as $row)
    $myArray[$row['country']] = $row['capital'];
}