前回の記事「PHP 配列の学習: 2 次元配列をソートする方法 (2 つの方法)」では、特定のフィールドに基づいて 2 次元配列をソートする 2 つの方法について学びました。必要な友人はそれについて学ぶことができます~
→関連する推奨事項: PHP 配列学習シリーズの概要 (継続的に更新されます~)>>
これ記事 テーマは「キー名とキー値の位置を交換する」です。これは簡単に言うと配列内のキー名とキー値を交換することを意味します。
この操作のために、PHP にはこの機能を持つ組み込み関数、つまり array_flip($array)
関数があります。
次の例を詳しく見てみましょう
<?php $arr = array('a', 'b', '1', 2, 3); var_dump($arr); var_dump(array_flip($arr)); ?>
出力結果:
説明: $array 配列内値は有効なキー名 (int や string など) である必要があります。値の型が間違っている場合は警告が発行され、問題のキーと値のペアは元に戻されません。
同じキー値が複数回出現する場合、最後のキー名がその値として使用され、他のキー値はすべて失われます。
<?php $arr = array("a" => 1, "b" => 1, "c" => 2); var_dump($arr); var_dump(array_flip($arr)); ?>
出力結果:
array_flip()を使用すると、非常に高速にキー名とキー値を交換できることがわかります。では、array_flip() 関数を使用しない場合、キー名とキー値を交換するにはどうすればよいでしょうか?以下に紹介させていただきます。
アイデア:
最初に array_keys($array)
を使用して配列内のキー名を取得し、キー名の配列を返します。
次に、 array_values($array)
を使用して、配列内のすべての要素の値を取得し、キー値の配列を返します。
2 つの配列を結合して新しい配列を作成するには、最初のパラメーターは新しい配列のキー名として使用され、2 番目のパラメーターは新しい配列のキー名として使用されます。パラメータは新しい配列のキー値として使用されます。 (array_combine() 関数について知らない場合は、記事「PHP 配列の学習: マージによる配列の作成方法
」を参照してください。)
<?php $arr = array('a', 'b', '1', 2, 3,'c'); var_dump($arr); //获取全部键名 $keys=array_keys($arr); //获取全部键值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
出力結果:
同一キー値が複数ある場合の処理方法はarray_flip()関数と同様です、最後のキー名を値として使用すると、他のすべては失われます。
<?php header("content-type:text/html;charset=utf-8"); $arr = array('a', 'b', '1', 2, 3,'1'); var_dump($arr); //获取全部键名 $keys=array_keys($arr); //获取全部键值 $values=array_values($arr); $flip=array_combine($values,$keys); var_dump($flip); ?>
出力結果:
わかりました。他に知りたいことがある場合は、これをクリックしてください。 → →
php ビデオ チュートリアル最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。
PHP 関数 配列 配列関数のビデオ説明以上がPHP配列学習:キー名と値の位置を入れ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。