在php中定义数组键值php
我想要从数据库表中获取键和值,我需要它将它添加到数组中。那么我怎样才能将它设置为数组?如果我使用array_push(),那么它将从0开始索引,并且我需要从表中提取的数组索引。在php中定义数组键值php
我的表名为array_val
重点价值
K1 VAL1
K2 VAL2
$array_val = array();
$results = mysql_fetch_array($query);
foreach($results as $key => $val){
$array_val[$key] = $val
}
这对我有用,谢谢:) –
我认为你正在寻找沿东西mysqli_fetch_assoc()
如果你正在使用MySQLi。
不幸的是,这不是作者所要求的,因为他使用的是EAV表格。 – ChristianF
@ChristianF哈哈,我的坏,我不知道什么是EAV表。他在哪里提到他正在使用它? – 2016-09-29 07:00:39
如果您查看他发布的示例“数据”,您会注意到有两列。其中一个包含“钥匙”,另一个包含“价值”。我在这个问题的评论中添加了维基百科链接,它解释了EAV模式。 – ChristianF
另一种解决方案
while ($row = $result->fetch_assoc()){ //list of sql results
$my_array[$row["key"]]=$row["value"];
}
关键和值是你的表中的字段。表是:下面的代码array_val
这个!这是正确的 –
月可以帮你
简单,使用while
循环,并创建数据库记录的数组元素。
$arr = array();
$sql = "SELECT key,value FROM <tablename>";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$arr[$row['key']] = $row['value'];
}
}
我认为应该是'$ arr [$ row ['key']] = $ row ['value']' – RamRaider
这些代码在哪里? – Ghost
您可能想要重新设计您的数据库,因为EAV模式通常被认为是反模式。如果您发布有关数据库的更多详细信息以及存储在其中的数据,我们可能会帮助您提供更好的解决方案。 - https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model – ChristianF
对于PHP 5.5+ [array_column](http://php.net/manual/en/function.array -column.php)也可以使用。检查第三个参数。 – Jigar