前の記事「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); ?>
出力結果は次のとおりです:
OK! array_splice($array,$start,$length)
関数を使用すると、配列の添え字 ($start# の値) に基づいて、指定された長さ (
$length) をインターセプトできます。 ##) 値) 配列フラグメント。
array_splice() 関数は元の配列を変更することに注意してください。
》。次に、配列をインターセプトする 2 番目の方法について学びます。
方法 2: array_slice() 関数を使用する array_slice() 関数は、PHP が提供する配列をインターセプトする関数です。 from 配列からフラグメントを抽出します。 array_slice() 関数を見てみましょう:
array_slice($array,$start,$length,$preserve)
この関数は 2 つの必須パラメータをサポートしています:
$array と $start
(省略できる 2 つのパラメータ) $length
と $preserve
。
Parameter
導入する必要はありません。parameter$start
はインターセプトを開始する位置(添字)を指定するために使用されます。parameter $ length
はインターセプトの長さを表します (省略した場合、指定された添字から配列の末尾までインターセプトされます)。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?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,2); //截取从下标2开始的全部数组元素
var_dump($result);
$result = array_slice($arr,1,2); //截取从下标1开始的两个元素
var_dump($result);
?></pre><div class="contentsignin">ログイン後にコピー</div></div>
出力結果は次のとおりです:
array_slice() 関数と array_splice() 関数の関数は、配列操作のインターセプトにおいて類似していることがわかります。 . ;しかし、
array_slice() 関数は元の配列を変更しません。パラメータ
$start には 3 つの値があります:
## は正の数で、前から後ろにインターセプトされます。
が負の数の場合、$array の末尾から
-start は、配列の最後から 2 番目の要素から開始することを意味します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?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,2);
var_dump($result);
$result = array_slice($arr,-2);
var_dump($result);
?></pre><div class="contentsignin">ログイン後にコピー</div></div>
出力結果は次のとおりです:
$length にも 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 は、元のキー名を保持するかどうかを示します。 、デフォルト値は 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 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。
以上が要素フラグメントをインターセプトする方法を学習する PHP 配列 (2 つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。