PHP配列変更キー

王林
リリース: 2023-05-06 09:01:07
オリジナル
742 人が閲覧しました

PHP では、配列は複数の値を格納し、キーと値のペアを使用して整理できる非常に強力なデータ型です。プログラミング中に、既存の配列のキーを変更する必要がある場合がありますが、この場合、PHP で提供されている関数を使用してこのタスクを完了できます。

1. array_combine() 関数を使用する

配列のキーを値に変換する必要がある場合は、array_flip() 関数を使用できます。逆に、値をキーに変換するには、array_combine() 関数を使用できます。

array_combine() 関数は、それぞれ新しいキー名と新しい値を表す 2 つの配列をパラメーターとして受け取ります。新しいキー配列はインデックス配列である必要がありますが、新しい値配列は任意の型の配列にすることができます。 2 つの配列の要素数が一致しない場合は、false が返されます。

次の例は、array_combine() 関数を使用して配列のキーを変更する方法を示しています。

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名数组
$newKeysArray = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用array_combine()更改键名
$newArray = array_combine($newKeysArray, $originalArray);

// 输出新的数组
var_dump($newArray);
ログイン後にコピー

出力は次のとおりです。

array(3) {
  ["person_name"]=>
  string(4) "John"
  ["person_age"]=>
  int(35)
  ["person_gender"]=>
  string(4) "male"
}
ログイン後にコピー

この例では、最初に元の配列 $originalArray を定義します。次に、新しいキー名を含む新しい配列 $newKeysArray を作成します。最後に、array_combine() 関数を使用して、新しいキー名と元の配列の値を新しい配列 $newArray に結合します。

2. array_map() 関数を使用する

array_map() 関数は、PHP のもう 1 つの非常に便利な関数で、配列内のすべての要素にコールバック関数を適用できます。コールバック関数は、入力配列内の要素を表すパラメーターを受け入れる必要があります。コールバック関数では、要素を処理し、処理された結果を返すことができます。最後に、array_map() 関数は、処理されたすべての要素を含む新しい配列を返します。

array_map() 関数を使用する場合、入力配列のキーは出力配列に保持されることに注意してください。

次の例は、array_map() 関数を使用して配列のキーを変更する方法を示しています:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 使用array_map()更改键名
$newArray = array_map(function($value) {
    $newKey = str_replace('_', ' ', $value);
    $newKey = ucwords($newKey);
    $newKey = str_replace(' ', '', $newKey);
    return $newKey;
}, array_keys($originalArray), array_fill(0, count($originalArray), null));

$newArray = array_combine($newArray, $originalArray);

// 输出新的数组
var_dump($newArray);
ログイン後にコピー

この例では、入力キーを使用する無名関数を定義します。 name 一部の文字列関数は処理後に戻ります。 array_keys() 関数を使用して元の配列のすべてのキーを取得し、array_fill() 関数を使用してキー配列と同じ長さの配列を生成します。これにより、これら 2 つの配列を array_map( ) 関数。最後に、処理されたキー名の配列と元の配列値を新しい配列に結合し、キー名の変更が完了します。

3. foreach ループを使用する

最後に、foreach ループを使用して元の配列を走査し、新しいキー名を持つ新しい配列を作成できます。走査プロセス中に、元の配列のキーと値をそれぞれ変数 $key と $value に割り当て、新しいキー名 $newKey を使用して新しい配列項目を作成する必要があります。走査の最後に、キー名が変更された完全に異なる配列が得られます。

次の例は、foreach ループを使用して配列のキーを変更する方法を示しています:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名
$newKeys = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用foreach循环更改键名
$newArray = array();
foreach($originalArray as $key => $value) {
    $newKey = $newKeys[$key];
    $newArray[$newKey] = $value;
}

// 输出新的数组
var_dump($newArray);
ログイン後にコピー

この例では、最初に元の配列 $originalArray と新しいキーを定義します。配列$ newKeys。次に、foreach ループを使用して元の配列を反復処理します。各ループでは、現在のサイクルのキー $key に基づいて新しいキー名配列内で対応する新しいキー名 $neKey を見つけ、新しい配列項目 $newArray[$newKey] = $value を作成します。ループが終了すると、キー名が変更された新しい配列 $newArray が取得されます。

以上がPHP配列変更キーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート