PHP は非常に一般的に使用されるスクリプト言語であり、日常の開発では 2 次元配列をインターセプトする必要があることがよくあります。 PHP を使用して 2 次元配列を操作すると非常に便利ですが、2 次元配列をインターセプトする方法をいくつか紹介します。
1. array_slice() 関数を使用する
array_slice() 関数は PHP に付属する関数で、配列の一部をインターセプトするために使用できます。この関数を使用すると、切り取る開始位置と長さを指定するだけで、簡単に2次元配列を切り取ることができます。
使用方法は以下の通りです。
array array_slice ( array $array , int $offset , int $length = null , bool $preserve_keys = false )
このうち、 $array はインターセプト対象の配列、 $offset はインターセプトの開始位置、 $length はインターセプトの長さ、 $preserve_keys は、元のキー名を保持するかどうかを示します。デフォルトは false です。
この関数は新しい配列を返し、元の配列の値には影響しないことに注意してください。以下に例を示します。
$arr = array( array('name'=>'张三','age'=>20), array('name'=>'李四','age'=>22), array('name'=>'王五','age'=>24), array('name'=>'赵六','age'=>26), array('name'=>'孙七','age'=>28) ); $new_arr = array_slice($arr, 1,2); print_r($new_arr);
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => 李四 [age] => 22 ) [1] => Array ( [name] => 王五 [age] => 24 ) )
上記のコードは、元の配列の 2 番目の要素から始まる 2 つの要素をインターセプトし、新しい配列を返します。
2. for ループの使用
for ループを使用すると、2 次元配列の一部をインターセプトすることもでき、ループの開始位置と終了位置を制御することでインターセプトを実現します。以下は例です:
$arr = array( array('name'=>'张三','age'=>20), array('name'=>'李四','age'=>22), array('name'=>'王五','age'=>24), array('name'=>'赵六','age'=>26), array('name'=>'孙七','age'=>28) ); $new_arr = array(); for($i=1;$i<=2;$i++){ array_push($new_arr,$arr[$i]); } print_r($new_arr);
出力結果は前の例と同じです:
Array ( [0] => Array ( [name] => 李四 [age] => 22 ) [1] => Array ( [name] => 王五 [age] => 24 ) )
上記のコードは、「for ループ」を使用して、2 番目の要素から始まる 2 つの要素をインターセプトし、新しい配列を返します。
3. array_splice() 関数を使用する
array_splice() 関数は PHP に付属する関数でもあり、配列の一部をインターセプトするために使用できます。この関数を使用すると、切り取る開始位置と長さを指定するだけで、簡単に2次元配列を切り取ることができます。
使用方法は以下の通りです。
array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement = array() ]] )
このうち、 $input はインターセプトする配列、 $offset はインターセプトの開始位置、 $length はインターセプトの長さ、 $replacement は置換内容を表します。配列またはその他のタイプの値を指定できます。
この関数は元の配列の値を変更することに注意してください。つまり、インターセプト後に元の配列が変更されます。以下に例を示します。
$arr = array( array('name'=>'张三','age'=>20), array('name'=>'李四','age'=>22), array('name'=>'王五','age'=>24), array('name'=>'赵六','age'=>26), array('name'=>'孙七','age'=>28) ); array_splice($arr, 1,2); print_r($arr);
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => 张三 [age] => 20 ) [1] => Array ( [name] => 赵六 [age] => 26 ) [2] => Array ( [name] => 孙七 [age] => 28 ) )
上記のコードは、元の配列の 2 番目の要素から始まる 2 つの要素をインターセプトし、元の配列を変更します。
4. array_slice() と foreach ループの使用
場合によっては、2 次元配列内の特定の列をインターセプトする必要があり、これは array_slice() 関数と foreach ループを使用することで実現できます。 。以下に例を示します。
$arr = array( array('name'=>'张三','age'=>20), array('name'=>'李四','age'=>22), array('name'=>'王五','age'=>24), array('name'=>'赵六','age'=>26), array('name'=>'孙七','age'=>28) ); $new_arr = array(); foreach($arr as $val){ $new_arr[] = array_slice($val,0,1); } print_r($new_arr);
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => 张三 ) [1] => Array ( [name] => 李四 ) [2] => Array ( [name] => 王五 ) [3] => Array ( [name] => 赵六 ) [4] => Array ( [name] => 孙七 ) )
上記のコードは、2 次元配列の最初の列をインターセプトし、新しい配列を返します。
上記は 2 次元配列をインターセプトするいくつかの方法であり、日常の開発の問題の解決に役立つことを願っています。
以上がPHPで2次元配列をインターセプトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。