PHP では、2 次元配列を削除する必要がある場合、指定された添字を削除する必要がある状況によく遭遇します。このとき、unset関数を使用することで実現できますが、具体的な方法は以下の通りです:
unset($array[$key]);
このうち、$arrayは対象の配列、$keyは削除する必要のある添字です。
しかし、複数の添え字を削除する必要がある場合、どうすればよいでしょうか?
心配しないでください、PHP には、foreach ループと unset を組み合わせた、シンプルで効果的な方法が用意されています。具体的な方法は次のとおりです:
foreach($keys as $key) { unset($array[$key]); }
その中で、$keys は、配列を削除する必要があります。
以下では、具体的な例を使用して、このメソッドの使用方法を示します。
名前、年齢、性別、出身地などを含む複数の学生に関する情報を格納する 2 次元配列 $students があるとします。次に、出身地が「北京」である学生情報をすべて削除する必要があります。実装コードは次のとおりです:
$students = array( array('name' => '张三', 'age' => 18, 'gender' => '男', 'hometown' => '北京'), array('name' => '李四', 'age' => 19, 'gender' => '女', 'hometown' => '上海'), array('name' => '王五', 'age' => 20, 'gender' => '男', 'hometown' => '北京'), array('name' => '赵六', 'age' => 21, 'gender' => '女', 'hometown' => '广州'), array('name' => '钱七', 'age' => 22, 'gender' => '男', 'hometown' => '深圳') ); $keys = array(); // 定义一个空数组,用于存储需要删除的下标 foreach($students as $key => $value) { if($value['hometown'] == '北京') { $keys[] = $key; // 将需要删除的下标添加到数组中 } } foreach($keys as $key) { unset($students[$key]); // 删除具体下标的元素 }
このコードにより、2 つの中で出身地が「北京」である学生情報を正常に削除できます。 -次元配列 $students。
要約すると、unset 関数を foreach ループと組み合わせて使用すると、2 次元配列内の指定された添え字を持つ要素を削除できるため、プログラミング効率が大幅に向上します。
以上がPHPで2次元配列内の指定された添字要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。