[英]How to create an associative array from more than two columns fetched from a sql query in PHP?
我正在尝试使用来自获取的sql查询的值填充关联数组,之前我仅将其用于两列:
while($row = odbc_fetch_array($res1)){
$key_words[utf8_encode($row['word'])] = utf8_encode($row['replace']);
}
。OUPUTS:
Array (
[à] => a
[á] => a
[â] => a
[ã] => a
[ä] => a
[ç] => c
[é] => e
[è] => e
[ê] => e
)
但是现在我需要两个以上的列。 像这样的东西:
$array = array( subject => key => group subject => key => group )
可能吗 ?
编辑2
这段代码:
while($row = odbc_fetch_array($res)){
$replace[] = $row;
}
输出结果:
Array (
[0] => Array (
[ID] => 1
[mot] => �
[remplace] => a
[Type] => lettre
)
[1] => Array (
[ID] => 2
[mot] => �
[remplace] => a
[Type] => lettre
)
[2] => Array (
[ID] => 3
[mot] => �
[remplace] => a
[Type] => lettre
)
)
我想要相同的结果,但不希望所有列都只有3个。
例:
Array (
[0] => Array (
[mot] => �
[remplace] => a
[Type] => lettre
)
[1] => Array (
[mot] => �
[remplace] => a
[Type] => lettre
)
[2] => Array (
[mot] => �
[remplace] => a
[Type] => lettre
)
)
您可以通过多种方式获得该结果。
由于您似乎正在从数据库中获取数据,因此最好的方法是仅选择所需的列。
如果今天有这个:
SELECT * FROM ...
更改为:
SELECT mot, remplace, Type FROM ...
现在$row
将只包含这三个值,您可以使用已有的代码:
while($row = odbc_fetch_array($res)){
$replace[] = $row;
}
如果出于某种原因而不想限制获取的列,则可以在循环内使用需要使用PHP的列:
while($row = odbc_fetch_array($res)){
$replace[] = [
'mot' => $row['mot'],
'remplace' => $row['remplace'],
'Type' => $row['Type'],
];
}
以上两种解决方案都应该为您提供所需的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.