PHP は広く使用されているプログラミング言語であり、配列を操作する必要がよくありますが、その中で配列要素の削除は一般的な操作です。 PHP では、2 次元配列は配列内の各要素の値を指しますが、これも配列であり、場合によってはその中の要素を削除する必要があります。この記事では、PHPで2次元配列から要素を削除する方法を紹介します。
1. 2 次元配列の概要
PHP では、配列は順序付けられた値のセットであり、各値に一意のキーを割り当てることができます。要素の値も配列である場合、その配列を 2 次元配列と呼ぶことができます。 2 次元配列は、いくつかの 1 次元配列で構成される配列とみなすことができます。
以下は単純な 2 次元配列です:
$students = array( array('name'=>'张三', 'age'=>20, 'gender'=>'男'), array('name'=>'李四', 'age'=>22, 'gender'=>'女'), array('name'=>'王五', 'age'=>24, 'gender'=>'男') );
上記の 2 次元配列は、3 人の生徒の名前、年齢、性別情報を記述しています。各生徒の情報は 1 次元配列で記述され、これら 1 次元配列が 2 次元配列を形成します。次の方法で 2 次元配列の要素にアクセスして操作できます:
// 访问二维数组中的元素 echo $students[0]['name']; // 输出 '张三' // 修改二维数组中的元素 $students[1]['age'] = 23;
2. 2 次元配列の要素を削除します
場合によっては、2 次元配列から要素を削除する必要があることがあります。 -次元配列 、PHP には、この操作を実現するためのさまざまなメソッドが用意されています。
1. unset 関数を使用する
PHP では、unset 関数を使用して、配列から指定した要素を削除できます。 2 次元配列の場合、次の方法で要素を削除できます。
unset($array[$i][$j]);
このうち、$i は要素を削除する 1 次元配列の添字を表し、$j は要素を削除します。要素が削除される 2 次元配列。複数の要素を削除する場合は、複数の unset 関数をネストして使用できます。
次の例は、unset 関数を使用して 2 次元配列内の要素を削除する方法を示しています。
$students = array( array('name'=>'张三', 'age'=>20, 'gender'=>'男'), array('name'=>'李四', 'age'=>22, 'gender'=>'女'), array('name'=>'王五', 'age'=>24, 'gender'=>'男') ); // 删除第一个学生的信息 unset($students[0]); // 删除第二个学生的姓名信息 unset($students[1]['name']); // 输出剩余的学生信息 print_r($students);
上記のコードでは、まず unset 関数を使用して要素を削除します。 2 次元配列 $students の最初の要素。1 つの要素、最初の学生に関する情報。次に、unset 関数を使用して、$students にある 2 番目の生徒の名前情報を削除しました。最後に、print_r 関数を使用して残りの生徒情報を出力し、削除が成功したことがわかります。
2. array_splice 関数を使用する
unset 関数の使用に加えて、array_splice 関数を使用して、2 次元配列から指定した要素を削除することもできます。
array_splice 関数の使い方は次のとおりです。
array_splice(array &$input, int $offset [, int $length [, mixed $replacement ]]): array
このうち、$input は操作対象の配列、$offset は削除を開始する添字、$length はそれぞれを表します。削除する要素の数、$ replace は配列に追加する必要がある要素を表します。要素を削除する場合、$replacement パラメータは省略できます。
2次元配列の場合、次の方法で要素を削除できます。
array_splice($array[$i], $j, 1);
このうち、$arrayは要素を削除する2次元配列を表し、$は要素を削除します。 i は要素を削除する 2 次元配列を表し、$j は要素を削除する 2 次元配列の 1 次元配列の添字を表します。
次の例は、array_splice 関数を使用して 2 次元配列内の要素を削除する方法を示しています。
$students = array( array('name'=>'张三', 'age'=>20, 'gender'=>'男'), array('name'=>'李四', 'age'=>22, 'gender'=>'女'), array('name'=>'王五', 'age'=>24, 'gender'=>'男') ); // 删除第一个学生的信息 array_splice($students, 0, 1); // 删除第二个学生的姓名信息 array_splice($students[1], 0, 1); // 输出剩余的学生信息 print_r($students);
上記のコードでは、まず array_splice 関数を使用して要素を削除します。 2 次元配列の最初の要素 $students 1 つの要素、最初の学生に関する情報。次に、array_splice 関数を使用して、$students にある 2 番目の生徒の名前情報を削除しました。最後に、print_r 関数を使用して残りの生徒情報を出力し、削除が成功したことがわかります。
3. 概要
PHP の 2 次元配列は、複数の 1 次元配列で構成される配列です。 2 次元配列の要素を削除するには、unset 関数と array_splice 関数を使用します。 unset 関数を使用して要素を削除するのは簡単かつ直接的ですが、配列のメモリ使用量は減りません。array_splice 関数を使用して要素を削除する場合は、削除を開始する添字と削除する要素の数を指定する必要があります。この関数によって削減できる配列メモリの使用目的。
以上がPHPで2次元配列から部分配列を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。