ホームページ > バックエンド開発 > PHPの問題 > PHP配列のフォーマット変換を実装する方法

PHP配列のフォーマット変換を実装する方法

PHPz
リリース: 2023-04-19 10:12:42
オリジナル
877 人が閲覧しました

今日は、PHP の配列変換の問題について説明します。 PHP には強力なデータ処理機能があり、その中で配列は最も広く使用されているデータ型です。実際の開発では、2次元配列を1次元配列に変換したり、連想配列を通常の配列に変換したりするなど、配列の形式を変換する必要がある場面に遭遇することがあります。では、PHP 配列の形式変換を実装するにはどうすればよいでしょうか?

1. 2 次元配列を 1 次元配列に変換する

2 次元配列を 1 次元配列に変換したい場合は、array_column() を使用できます。 PHPの関数。具体的な手順は次のとおりです:

1. 2 次元配列を定義します (例:

$arr = array(
    array('id'=>1,'name'=>'Tom','age'=>18),
    array('id'=>2,'name'=>'Jerry','age'=>20),
    array('id'=>3,'name'=>'Mike','age'=>22)
);
ログイン後にコピー

2)。array_column() 関数を使用して 2 次元配列を 1 次元配列に変換します。 -次元配列:

$result = array_column($arr, 'name', 'id');
ログイン後にコピー

このときの結果は:

array (
  1 => 'Tom',
  2 => 'Jerry',
  3 => 'Mike',
)
ログイン後にコピー

第二引数nameは取得する列を表し文字列型のキー名、第三引数は取得する列を表します。 'id' はオプションで、返される配列のキー名として使用される列を示します。これは文字列型のキー名でもあります。

2. 通常の配列を連想配列に変換する

通常の配列をループし、キーと値のペアをそれに割り当てることで、通常の配列を連想配列に変換できます。具体的な操作は次のとおりです:

1. 通常の配列を定義します (例:

$arr = array('apple','banana','orange');
ログイン後にコピー

2. 配列をループして値を割り当てます:

$newArr = array();
foreach ($arr as $key=>$value) {
    $newArr[$key] = $value;
}
ログイン後にコピー

得られる結果

array (
  0 => 'apple',
  1 => 'banana',
  2 => 'orange',
)
ログイン後にコピー

3. 連想配列を通常の配列に変換

連想配列を通常の配列に変換、つまり配列のキー名を削除します。これを実現するには、PHP の array_values() 関数を使用します。具体的な操作は次のとおりです:

1. 連想配列を定義します (例:

$arr = array('name'=>'Tom','age'=>18,'gender'=>'male');
ログイン後にコピー

2. array_values() 関数を使用して、連想配列のキー名を削除します:

$newArr = array_values($arr);
ログイン後にコピー

現時点で得られる結果は以下の通り:

array (
  0 => 'Tom',
  1 => 18,
  2 => 'male',
)
ログイン後にコピー

まとめ:

以上がPHPの配列変換の具体的な操作方法であり、array_column()関数を通じて、配列ループを介して、 array_values()関数などを利用すると非常に便利になります 配列の形式変換を実装します。配列変換を実行するときは、エラーを避けるために配列の構造と型に注意する必要があることに注意してください。この記事が PHP 配列を学習するすべての人に役立つことを願っています。

以上がPHP配列のフォーマット変換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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