我的代码是2部分,我不能使它成为一部分......由于很多原因,我只能编辑第一部分
第一部分是:
<?php
$w = $db->query("SELECT name,code FROM languages");
$languages = array();
while ($row = $db->fetchAll($w)) {
$languages[] = $row['name'];
}
?>
第二部分是:
<?php
foreach ($languages as $code => $name) {
echo 'Language is : ' . $name . ' | Code is : ' . $code;
}
?>
目前的输出是:
Language is : English | Code is : 0
Language is : x | Code is : 1
ect...
如您所见,$ name是语言名称,$ code是键,键值为0,1,2,3,...等等
我要做的是让密钥($ code)=真正的语言代码来获得输出
Language is : English | Code is : en
请问好吗?
谢谢。
答案 0 :(得分:4)
只需更改行
即可$languages[] = $row['name'];
到这一个:
$languages[$row['code']] = $row['name'];
使用没有索引的数组(例如$array[] =
)只会使用数字键将值附加到末尾。
答案 1 :(得分:1)
真实语言代码是否存储在您的数据库中?
如果是这样的话,第一部分应该是
$w = $db->query("SELECT name,code FROM languages");
$languages = array();
while($row = $db->fetchAll($w))
{
$languages[$row['code']] = $row['name'];
}
答案 2 :(得分:1)
更改
$languages[] = $row['name'];
到
$languages[strtolower(substr($row['name'],0,2))] = $row['name'];