ホームページ > バックエンド開発 > PHPの問題 > PHPで配列を切り取る方法は?組み込み関数の紹介

PHPで配列を切り取る方法は?組み込み関数の紹介

PHPz
リリース: 2023-04-20 15:38:56
オリジナル
1437 人が閲覧しました

PHP では、特定のフィールドの値に従って切り取る、または特定の長さに従って切り取るなど、特定のルールに従って配列を切り取る必要がある場合があります。現時点では、PHP で提供されているいくつかの関数を使用して、このタスクを完了できます。この記事では、PHP関数を使って配列を切り取る方法を紹介します。

1. array_chunk() 関数を使用して配列を切り取ります

array_chunk() 関数は、指定された長さに応じて配列を切り取ることができ、切り取られた各部分は新しい配列項目に保存されますで。具体的な構文は次のとおりです。

array array_chunk(array $array, int $size, bool $preserve_keys = false)
ログイン後にコピー

各パラメータの意味は次のとおりです。

  • $array: 切り取られる配列。
  • $size: 新しい配列の各項目に含まれる要素の数。
  • $preserve_keys: 元の配列のキー名を保持するかどうか。

たとえば、配列 $nums=['1','2','3','4','5','6','7',' がある場合8' ,'9']、3 つの要素を含む各配列項目に従ってこの配列をスライスしたい場合は、次のコードを使用できます:

$new_array = array_chunk($nums,3);
print_r($new_array);
ログイン後にコピー

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

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

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )

)
ログイン後にコピー
ログイン後にコピー

2. array_slice() 関数を使用して配列をスライスします

array_slice() 関数は、指定されたインデックス範囲に従って配列をスライスし、スライスされた配列を返すことができます。具体的な構文は次のとおりです。

array array_slice(array $array, int $offset, int $length = null, bool $preserve_keys = false)
ログイン後にコピー

各パラメータの意味は次のとおりです。

  • $array: 切り取られる配列。
  • $offset: 切断の開始インデックス。
  • $length: カットする長さ。指定しない場合は、配列の最後までカットされます。
  • $preserve_keys: 元の配列のキー名を保持するかどうか。

たとえば、配列 $nums=['1','2','3','4','5','6','7',' がある場合8' ,'9']、この配列を 4 番目の要素から 7 番目の要素まで切り取りたい場合は、次のコードを使用できます:

$new_array = array_slice($nums,3,4);
print_r($new_array);
ログイン後にコピー

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

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 7
)
ログイン後にコピー

3. 使用 array_filter() 関数は、配列を切り取るために使用されます。

array_filter() 関数は、指定されたルールに従って配列をフィルターし、条件を満たす配列を返すことができます。具体的な構文は次のとおりです。

array array_filter(array $array, callable $callback = null, int $flag = 0)
ログイン後にコピー

各パラメータの意味は次のとおりです。

  • $array: 切り取られる配列。
  • $callback: フィルター関数。関数が指定されている場合、その関数は配列要素のフィルター処理に使用されます。
  • $flag: 配列のキー関係がそのまま残るかどうかを指定する識別子。

たとえば、配列 $nums=['1','2','3','4','5','6','7',' がある場合8' ,'9'] の場合、この配列から奇数の要素をフィルターで除外するには、次のコードを使用できます:

$new_array = array_filter($nums,function($var){return ($var%2==1);});
print_r($new_array);
ログイン後にコピー

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

Array
(
    [0] => 1
    [2] => 3
    [4] => 5
    [6] => 7
    [8] => 9
)
ログイン後にコピー

4。配列を切り取る foreach ループ

PHP が提供する関数を使用して配列を切り取るだけでなく、foreach ループを使用してこのタスクを完了することもできます。具体的なコードは次のとおりです:

$nums=['1','2','3','4','5','6','7','8','9'];
$new_array=array();
$temp_array=array();
foreach ($nums as $key=>$value){
    $temp_array[]=$value;
    if(($key+1)%3==0||$key==count($nums)-1){
        $new_array[]=$temp_array;
        $temp_array=array();
    }
}
print_r($new_array);
ログイン後にコピー

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

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

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )

)
ログイン後にコピー
ログイン後にコピー

上記は、PHP を使用して配列を切り取る 4 つの方法です。適切な方法を選択して、実際の状況に応じてタスクを実行します。

以上がPHPで配列を切り取る方法は?組み込み関数の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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