PHPの3次元配列を1次元配列に変換する

WBOY
リリース: 2023-05-19 18:50:38
オリジナル
798 人が閲覧しました

PHP 開発プロセスでは、多次元配列を扱うことがよくあります。場合によっては、操作を容易にするために多次元配列を 1 次元配列に変換する必要があります。この記事では、PHP の 3 次元配列を 1 次元配列に変換する方法とコードの実装方法を紹介します。

  1. PHP における 3 次元配列とは

PHP では、3 次元配列とは、配列内の要素が依然として配列であることを意味します。この配列にはまだ配列が含まれています。一般に、PHP 配列は n 次元を持つことができますが、実際の開発では通常 3 次元を超えることはありません。

例:

$people = array( array( "name" => "Tom", "age" => 30, "hobbies" => array("reading", "swimming", "travelling") ), array( "name" => "Jack", "age" => 25, "hobbies" => array("running", "hiking", "coding") ) );
ログイン後にコピー

上の $people 配列は 2 つの要素を含む 3 次元配列です。各要素は 2 次元配列で、1 つの要素には名前の配列が含まれます、年齢と興味。

  1. PHP で 3 次元配列を 1 次元配列に変換する方法

3 次元配列の場合、再帰アルゴリズムを使用して変換できます。 1次元配列に変換します。

(1) array_ flatten という名前の関数を定義します この関数には、変換する配列を表すパラメータが含まれています。

(2) 変換結果を格納する空の配列 result を定義します。

(3) 配列内の各要素をスキャンします。

  • 要素が配列の場合は、array_ flatten 関数を再帰的に呼び出して 1 次元配列に変換し、要素をマージします。結果を結果配列に格納します。
  • 要素が配列でない場合は、要素を結果の配列に直接追加します。

(4) 結果配列を最終結果として返します。

コードは次のとおりです:

function array_flatten($array) { $result = array(); foreach ($array as $item) { if (is_array($item)) { $result = array_merge($result, array_flatten($item)); } else { $result[] = $item; } } return $result; }
ログイン後にコピー

この関数を使用すると、PHP の 3 次元配列を 1 次元配列に簡単に変換できます。

$flat_array = array_flatten($people); print_r($flat_array);
ログイン後にコピー

上の例では、array_ flatten 関数を呼び出して $people の 3 次元配列を $ flat_array の 1 次元配列に変換し、 print_r 関数を使用して出力しました。

出力結果は次のとおりです。

Array ( [0] => Tom [1] => 30 [2] => reading [3] => swimming [4] => travelling [5] => Jack [6] => 25 [7] => running [8] => hiking [9] => coding )
ログイン後にコピー

出力結果は、$people 配列のすべての要素を含む 1 次元配列であることがわかります。

  1. 概要

この記事では、再帰アルゴリズムを使用して、PHP の 3 次元配列を 1 次元配列に変換する方法を紹介します。この方法は多次元配列を容易に扱えるため、実際の開発において配列操作をより効率的に行うことができます。多次元配列を扱う場合は、あらゆる次元の配列に適応でき、実装が簡単で、コードの再利用性が高いため、再帰的アルゴリズムを使用することをお勧めします。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!