-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_assocmysql_*拡張機能は非推奨になっているので、気にする必要はありません。まだ行っていない場合は、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 に答える