我正在尝试使用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;,但它不是获取特定值的最佳方式。
答案 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'];
}