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

PHPz
リリース: 2023-04-10 09:50:56
オリジナル
1432 人が閲覧しました

PHP は、動的 Web アプリケーションを作成する Web 開発用に設計された、広く使用されているサーバー側スクリプト言語です。 PHP では、配列は多くの値を格納できる非常に重要なデータ型であり、これらの値はさまざまな型にすることができます。場合によっては、1 次元配列を 2 次元配列に変換する必要がある場合がありますが、その際には、それを実現するためのスキルが必要です。

1 次元配列を 2 次元配列に変換する方法について説明する前に、まず PHP で 1 次元配列を定義する方法を見てみましょう。次の構文を使用して、単純な 1 次元配列を定義できます。

$numbers = array(1, 2, 3, 4, 5);
ログイン後にコピー

この配列には 5 つの整数値を格納できます。次に、この単純な 1 次元配列を 2 次元配列に変換する方法について説明します。

方法 1: array_chunk 関数を使用する

PHP には array_chunk と呼ばれる非常に便利な関数があり、配列を同じサイズの複数の配列チャンクに分割し、これらの 2 つを含む配列を返すことができます。 - 配列ブロックの次元配列。次のコードを使用して、1 次元配列を 2 次元配列に変換できます:

$numbers = array(1, 2, 3, 4, 5);

$chunks = array_chunk($numbers, 2);

print_r($chunks);
ログイン後にコピー

出力は、3 つの配列ブロックを含む 2 次元配列になります。各配列ブロックには 2 つの数値が含まれます。 ##

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
        )

    [2] => Array
        (
            [0] => 5
        )

)
ログイン後にコピー
この例では、配列をサイズ 2 のチャンクに分割するため、3 つのチャンクを含む 2D 配列が得られます。

方法 2: ループの使用

1 次元配列を 2 次元配列に変換するもう 1 つの方法は、ループを使用することです。必要なチャンク サイズに達するまで、配列を反復して各要素を新しい配列に追加できます。最後に、すべての配列ブロックを含む 2D 配列に新しい配列を追加します。サンプルコードは次のとおりです:

$numbers = array(1, 2, 3, 4, 5);
$chunk_size = 2;
$chunks = array();

for($i=0; $i<count($numbers); $i+=$chunk_size) {
    $chunks[] = array_slice($numbers, $i, $chunk_size);
}

print_r($chunks);
ログイン後にコピー

これは方法 1 と同じ結果を出力します:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
        )

    [1] => Array
        (
            [0] => 3
            [1] => 4
        )

    [2] => Array
        (
            [0] => 5
        )

)
ログイン後にコピー
この例では、配列をループし、array_slice 関数を使用して各チャンクを新しいファイルに追加します。配列。最後に、これらのブロックを 2 次元配列に結合します。

結論

1 次元配列を 2 次元配列に変換することは、PHP では非常に一般的なタスクです。このタスクを実行するには、array_chunk 関数またはループを使用できます。これらの方法はすべて有効であり、個人の好みに基づいて使用できます。これらのテクニックを学んだので、開発プロセス中に柔軟に使用できるようになります。

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

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