【发布时间】:2019-12-11 09:55:02
【问题描述】:
我有一个看起来像这样的数组
$casearrayF = array(
'0' => 'a',
'0' => 'b',
'15' => 'c');
我想通过从数据库中获取数据来创建一个相似数组,数据表如下所示
letter | value |
a | 0 |
b | 0 |
c | 15 |
| 0 |
我当前的php代码是
$hostname = "localhost";
$username = "root";
$password = "";
$db = "test";
$conn = mysqli_connect($hostname, $username, $password, $db);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT * FROM alphabet WHERE letter <> ''";
$result = mysqli_query($conn, $sql);
$array = array();
while($row = mysqli_fetch_assoc($result)) {
$array[$row['value']] = $row['letter'];
}
我现在面临的问题是当尝试echo key($array) 时,值都是 0 而不是 0,0,15。我做错了吗?
【问题讨论】:
-
具有相同键的数组不能存在。
-
使用
array_flip -
不清楚你想做什么。正如所指出的,数组不能有重复的键。还有
key()可能不会像你想的那样做,你为什么要使用它? -
我正在尝试使用
<option value = $row'letter'>做一个<select><option>下拉列表,并将选定的选项值与数组值进行比较,并获取为字母@ 分配的值的特定键Dharman 有什么办法让我这样做,因为密钥不能具有相同的值?