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

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

青灯夜游
リリース: 2023-03-12 07:24:02
オリジナル
7132 人が閲覧しました

前の記事「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 はインターセプトの長さを表します (省略した場合、指定された添字から配列の末尾までインターセプトされます)。 <div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div>出力結果は次のとおりです:

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

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

パラメータ

$start

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

## は 0、
  • # If

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

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

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

    は、配列の最後から 2 番目の要素から開始することを意味します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div>出力結果は次のとおりです:

パラメータ

$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 サイトの他の関連記事を参照してください。

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