ホームページ  >  記事  >  バックエンド開発  >  PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

青灯夜游
青灯夜游オリジナル
2021-08-25 19:15:583925ブラウズ

前の記事「PHP配列学習:キー名と値の位置を交換する方法」では、配列内のキー名とキー値を交換する2つの方法について学びました。それについて~

→関連する推奨事項: PHP 配列学習シリーズの概要 (継続的に更新されます~)>>

そして今日は、この記事では主に次のことを説明します。配列の分割を通じて、PHP を使用して 1 次元配列を指定された数の要素を含む 2 次元配列に分割する方法について説明します。

たとえば、このような 1 次元配列があります

$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);

PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

この 1 次元配列を、3 を含む 2 次元配列に分割したいと考えています以下に示すように連続した要素

PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

#これを行うにはどうすればよいですか?ここでは、1 次元配列を、指定された数の要素を含む 2 次元配列に分割する 2 つの方法を示します。

#方法 1: array_slice() 関数を使用して配列をインターセプト#実装アイデア:

    Use array_slice() 関数は、配列添字に基づいて指定された長さの配列フラグメントをインターセプトし、インターセプトした部分配列を返します。
  • 2 次元配列の内側の層にはそれぞれ 3 つの要素が含まれているため、配列の分割を開始するために array_slice() が使用される位置はそれぞれ 0、3、6、9 になります。 ;
  • for ループを使用して開始位置 (配列の添え字)、i と添え字の関係を制御します
  • i*3

    : When i =0 の場合、開始位置は 0

    i=1 の場合、開始位置は 3

    i=2 の場合、開始位置は 6

    i=2 の場合、開始位置は 6

    =3、開始位置は 9 です。

実装コードは以下のとおりです:

<?php
function SplitArray($arr,$n){
	for ($i = 0; $i <= $n; $i++) {
	    $res[] = array_slice($arr, $i * $n, $n);
	}
	var_dump($res);
}
$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
SplitArray($arr,3);
?>

出力結果:

PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

方法 2: array_chunk() 関数を使用して配列を分割します##

<?php
$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
$res = array_chunk($arr,3);
var_dump($res);
?>

出力結果:

PHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換する

array_chunk() 関数を紹介しましょう。

array_chunk(array,size,preserve_keys)この関数は、配列を新しい配列チャンクに分割します。オプションのパラメーター size は、各新しい配列チャンクにどれだけの要素が含まれるかを指定します。 、オプションのパラメータ preserve_keys は、元の配列にキー名を保持するかどうかを指定します (デフォルト値は false で、保持されません)。

わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →

php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。

PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。

以上がPHP配列学習: 1次元配列を指定された複数の要素を含む2次元配列に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。