PHPの2次元配列のキー値を変更する方法

PHPz
リリース: 2023-04-24 17:12:59
オリジナル
777 人が閲覧しました

php の配列は、複数のデータ要素を格納するために使用できる非常に強力なデータ型です。実際の開発では、配列を操作する必要があることがよくありますが、その 1 つは配列のキー値を変更することです。この記事では、PHPで2次元配列のキー値を変更する方法を紹介します。

まず、PHP の 2 次元配列の基本概念を理解しましょう。いわゆる二次元配列とは、配列の要素が配列であることを意味します。たとえば、次の 2 次元配列には 3 つの要素があり、各要素は 3 つの要素を含む 1 次元配列です。

$arr = array(
  array("apple","banana","cherry"),
  array("dog","cat","bird"),
  array("red","green","blue")
);
ログイン後にコピー

PHP では、キーと値のペアを使用して 2 次元配列要素にアクセスできます。配列内で。たとえば、上記の 2 次元配列 (つまり、「リンゴ」、「バナナ」、および「チェリー」の 3 つの要素を含む 1 次元配列) の最初の要素にアクセスするには、次のコードを使用できます。 ##

echo $arr[0][0];  // 输出 apple
echo $arr[0][1];  // 输出 banana
echo $arr[0][2];  // 输出 cherry
ログイン後にコピー
次に、phpの二次元配列のキー値を変更する方法を見てみましょう。場合によっては、配列のキー値を他の値に置き換える必要があります。これを実現するには、array_map() 関数を使用します:

$arr = array(
  array("name"=>"apple","price"=>1.5),
  array("name"=>"banana","price"=>2),
  array("name"=>"cherry","price"=>3)
);

function changeKey($item){
  $item["ID"] = $item["name"];  // 添加新的键值对
  unset($item["name"]);        // 删除旧的键值对
  return $item;
}

$arr = array_map("changeKey",$arr);

print_r($arr);
ログイン後にコピー
上記のコードでは、array_map() 関数を使用します。これはコールバック関数 (この場合は、changeKey() 関数) を呼び出し、配列内の各要素に適用され、新しい配列を返します。 changeKey() 関数では、新しいキーと値のペア「ID」を追加し、「name」というキーと値のペアを削除しました。これにより、2 次元配列のキー値が「name」から「ID」に置き換えられます。

もう 1 つの方法は、foreach ループを使用して 2 次元配列を走査し、キーと値のペアを変更することです。たとえば、次のコードは、元の配列の "name" キー値を "ID" に置き換えます。

$arr = array(
  array("name"=>"apple","price"=>1.5),
  array("name"=>"banana","price"=>2),
  array("name"=>"cherry","price"=>3)
);

foreach ($arr as &$item){
  $item["ID"] = $item["name"];  // 添加新的键值对
  unset($item["name"]);        // 删除旧的键值对
}

print_r($arr);
ログイン後にコピー
上記のコードでは、foreach ループを使用して 2 次元配列要素の各要素を走査します。 。各要素のキーと値のペアを変更したいため、foreach ループで要素の参照を変数 $item に割り当てます。ループ本体では、$item を操作することで、元の配列内のキーと値のペアを変更できます。

要約すると、PHP で 2 次元配列のキー値を変更するには、array_map() 関数を使用する方法と foreach ループを使用する方法の 2 つの一般的な方法があります。どの方法を使用するかは、特定のシナリオと開発ニーズによって異なります。配列を操作するときは、コードを読みやすく保守しやすい状態に保つことにも注意し、複雑なコード構造や理解しにくいコード構造の使用をできるだけ避ける必要があります。

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

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