-1

可能重复:
向数组键添加前缀的最快方法?

我有一个这样的数组:

0 => value 1,
1 => value 2,

我想这样做:

keyname1 => value 1,
keyname2 => value 2,

在 mySQL 数据库中,所有列都有名称,但数组使用数字而不是名称。是否有 PHP 或 mySQL 命令告诉它如何编写密钥?

4

3 回答 3

1
array_walk($array, function($value, &$key){ $key = 'prefix' . $key;});
于 2012-12-18T20:15:09.287 回答
1

获取结果集后,使用循环遍历它,并将列名添加keys到数组中。这是一个例子,

foreach($resultset as $k => $v)
 $array[$k] = $v;

我假设这$resultset是一个数组。

注意:不推荐使用 Mysql_* 扩展。尝试改用 Mysqli_* 或 PDO 扩展。

于 2012-12-18T20:17:11.330 回答
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

于 2012-12-18T20:43:16.903 回答