1

こんにちは、以下のような配列があります。

  $arr = Array ( [My_name] => Sam [My_location] => United_Kingdom [My_id] => 1 );

そして、キーをから変更しようとしています

  My_name, My_Location, My_id

  Your_name, Your_Location, Your_id

したがって、最終的な配列は次のようになります

  Array ( [Your_name] => Sam [Your_location] => United_Kingdom [Your_id] => 1 );

str_replace のようなものが機能することを望んでいました

   $arrnew = str_replace("My","Your",$arr);

ただし、これは、「My」がキーではなく値である場合にのみ、「My」を「Your」に置き換えています。

では、キーを変更するにはどうすればよいでしょうか。

助けてくれてありがとう。

4

3 に答える 3

5
$arrnew = array_combine(str_replace("My","Your",array_keys($arr)), $arr);
于 2013-07-20T16:24:25.323 に答える
2

キーをその場で変更することはできませんが、次のようなことができます。

foreach($arr as $key => $value) {
    $arr[str_replace("My","Your",$key)] = $value;
    unset($arr[$key]);
}

これにより、古い要素を設定解除する新しいキーを持つ新しい要素が追加されます

お役に立てれば

于 2013-07-20T16:22:32.913 に答える
0

これを試すことができます:

foreach($arr as $key => $val){
    $newkey = str_replace("My","Your",$key);
    unset($arr[$key]);
    $arr[$newkey] = $val;
}

デモ: http://codepad.org/3vKkMAXx

于 2013-07-20T16:26:21.960 に答える