我有一个这样的数组:
0 => value 1,
1 => value 2,
我想这样做:
keyname1 => value 1,
keyname2 => value 2,
在mySQL数据库中,所有列都有名称,但数组使用数字而不是名称。是否有PHP或mySQL命令告诉它如何写密钥?
答案 0 :(得分:1)
array_walk($array, function($value, &$key){ $key = 'prefix' . $key;});
答案 1 :(得分:1)
获取结果集后,使用循环遍历它,并将列名称keys
添加到数组中。这是一个例子,
foreach($resultset as $k => $v)
$array[$k] = $v;
我假设$resultset
是一个数组。
注意:不推荐使用Mysql_ *扩展程序。请尝试使用Mysqli_ *或PDO扩展名。
答案 2 :(得分:1)
回应你的评论:
您正在从mySQL数据库中检索数据,因此您只需将数据作为关联数组获取:
PDO:
//just as an example
$stmt = $pdo->prepare('SELECT foo, bar from foobar.foobaz WHERE xyz = :xyz');
$stmt->execute(array(':xyz' => $someValue));
$results = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
array_push($results, $row);
}
应该这样做。当然,有mysql_fetch_assoc
,但由于mysql_*
扩展已被弃用,我不打算为此烦恼,只需切换到PDO,如果你还没有。
如果您因某些原因对PDO不满意,请查看mysqli_*
,在这种情况下,循环如下所示:
while($row = $stmt->fetch_assoc())
{//using OO api
array_push($results, $row);
}
//or
while($row = mysqli_fetch_assoc($result))
{//using OO api
array_push($results, $row);
}
完整示例[在文档页面上](http://www.php.net/mysqli_fetch_assoc