ホームページ  >  記事  >  バックエンド開発  >  要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)

要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)

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

前の記事「PHP 配列の学習: 要素を削除する方法」では、array_splice() 関数を使用して、配列の 1 つ以上の要素を削除する方法を紹介しました。配列。今回は PHP 配列の学習の続きで、配列をインターセプトして要素を取得する方法を紹介します。興味のある方はぜひ学んでください~

前回の学習では、文字列をインターセプトしてサブ要素を取得する方法について学習しました。文字列には substr() と mb_substr() を使用できます。では、配列がインターセプトされ、部分的な配列要素が返された場合はどうなるでしょうか?どうやってこれを行うのでしょうか?ここでは2つの方法を紹介します。

方法 1: array_splice() 関数を使用する

はい、array_splice() 関数です。 array_splice() 関数が配列要素を追加、削除、置換できることはわかっていますが、どのようにして配列をインターセプトできるのでしょうか?

これは、array_splice() 関数が配列の一部の要素を削除すると、これらの削除された要素を新しい配列に形成し、この新しい配列を返すためです。したがって、array_splice() 関数を使用してインターセプトできます。配列フラグメント。

次の小さな例を見てみましょう:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_splice($arr,2);  //截取从下标2开始的全部数组元素
var_dump($result);

$arr = array(10,12,20,25,24);
$result = array_splice($arr,1,2);//截取从下标1开始的两个元素
var_dump($result);

?>

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

要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)

OK! array_splice($array,$start,$length) 関数を使用すると、配列の添え字 ($start# の値) に基づいて、指定された長さ ($length) をインターセプトできます。 ##) 値) 配列フラグメント。 array_splice() 関数は元の配列を変更することに注意してください。

array_splice()関数の削除関数については以前の記事で詳しく解説しているので、ここでは詳しく紹介しません。分からない場合は「#」を読んでください。 ##PHP 配列の要素を削除する方法を学習します

》。次に、配列をインターセプトする 2 番目の方法について学びます。

方法 2: array_slice() 関数を使用する array_slice() 関数は、PHP が提供する配列をインターセプトする関数です。 from 配列からフラグメントを抽出します。 array_slice() 関数を見てみましょう:

array_slice($array,$start,$length,$preserve)

この関数は 2 つの必須パラメータをサポートしています:

$array

$start (省略できる 2 つのパラメータ) $length$preserve
Parameter

$array

導入する必要はありません。parameter$startはインターセプトを開始する位置(添字)を指定するために使用されます。parameter $ length はインターセプトの長さを表します (省略した場合、指定された添字から配列の末尾までインターセプトされます)。 <pre class="brush:php;toolbar:false">&lt;?php header(&quot;Content-type:text/html;charset=utf-8&quot;); $arr = array(10,12,20,25,24); echo &quot;原数组:&quot;; var_dump($arr); echo &quot;截取的数组片段:&quot;; $result = array_slice($arr,2); //截取从下标2开始的全部数组元素 var_dump($result); $result = array_slice($arr,1,2); //截取从下标1开始的两个元素 var_dump($result); ?&gt;</pre>出力結果は次のとおりです:

要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)array_slice() 関数と array_splice() 関数の関数は、配列操作のインターセプトにおいて類似していることがわかります。 . ;しかし、

array_slice() 関数は元の配列を変更しません。

パラメータ

$start

には 3 つの値があります:

## は 0、
  • # If

    ## は正の数で、前から後ろにインターセプトされます。

  • が負の数の場合、$array の末尾から

    -start
  • の位置から開始されます (つまり、配列の右側からの位置になります)絶対値に従って左へ)、後ろから開始して前方にカットします。たとえば、
  • -2

    は、配列の最後から 2 番目の要素から開始することを意味します。 <pre class="brush:php;toolbar:false">&lt;?php header(&quot;Content-type:text/html;charset=utf-8&quot;); $arr = array(10,12,20,25,24); echo &quot;原数组:&quot;; var_dump($arr); echo &quot;截取的数组片段:&quot;; $result = array_slice($arr,2); var_dump($result); $result = array_slice($arr,-2); var_dump($result); ?&gt;</pre>出力結果は次のとおりです:

パラメータ

$length要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法) にも 3 つの値があります:

長さが正の数の場合、インターセプトされた要素の数を示します。

  • 長さが負の数の場合、インターセプトされたフラグメントは次のようになります。距離配列 終了長さの位置;

  • 省略した場合、開始位置から配列の終わりまでインターセプトされます。

  • <?php
    header("Content-type:text/html;charset=utf-8");
    $arr = array(10,12,20,25,24);
    echo "原数组:";
    var_dump($arr); 
    
    echo "截取的数组片段:";
    $result = array_slice($arr,1,1);
    var_dump($result);
    
    $result = array_slice($arr,1,-1);
    var_dump($result);
    ?>

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

パラメータ

$preserve要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法) は、元のキー名を保持するかどうかを示します。 、デフォルト値は false、つまり保持されません; true に設定すると、元のキー名が保持されます。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1,true);
var_dump($result);

$result = array_slice($arr,1,-1,true);
var_dump($result);
?>

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

わかりました。他に知りたいことがあれば、これをクリックしてください。 → →

php ビデオ チュートリアル要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。

以上が要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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