在php中定义数组键和值

在php中定义数组键和值,php,Php,我想数组从数据库表中获取键和值,我需要它将其添加到数组中。那么如何将其设置为数组?若我使用array_push(),那个么它将从0开始索引,并且我需要从表中获取的数组索引 我的表名为array\u val 键值 k1值1 k2 val2如果您使用mysqli,我想您正在寻找类似于mysqli_fetch_assoc()的解决方案。另一种解决方案 $array_val = array(); $results = mysql_fetch_array($query); foreach($result

我想数组从数据库表中获取键和值,我需要它将其添加到数组中。那么如何将其设置为数组?若我使用array_push(),那个么它将从0开始索引,并且我需要从表中获取的数组索引

我的表名为array\u val


k1值1

k2 val2

如果您使用mysqli,我想您正在寻找类似于
mysqli_fetch_assoc()
的解决方案。

另一种解决方案

$array_val = array();

$results = mysql_fetch_array($query);
foreach($results as $key => $val){
    $array_val[$key] = $val

}
while ( $row = $result->fetch_assoc() ){ //list of sql results
$my_array[$row["key"]]=$row["value"];
}

键和值是您的表字段。表为:数组值

可能下面的代码可以帮助您

简单地说,使用
while
循环并从db记录创建数组元素

$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=array();
$sql=“选择键,从中选择值”;
$result=$conn->query($sql);
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
$arr[$row['key']=$row['value'];
}
}

这些代码在哪里?您可能希望重新设计您的数据库,因为EAV模式通常被认为是一种反模式。如果您发布有关数据库以及其中存储的数据的更多详细信息,我们可能会为您提供更好的解决方案。-对于PHP5.5+,也可以使用。检查第三个参数。不幸的是,这不是作者所问的,因为他使用的是EAV表。@ChristianF哈哈,我的错,我不知道EAV表是什么。他在哪里提到他在使用它?如果你看看他发布的示例“数据”,你会注意到有两列。其中一个包含“键”,另一个包含“值”。我在对这个问题的评论中添加了一个到维基百科的链接,这解释了EAV模式。非常感谢@ChristianF:)这个!这正是适合我的,谢谢:)我想应该是
$arr[$row['key']]=$row['value']