PHPで2次元配列内の指定された添字要素を削除する方法

PHPz
リリース: 2023-04-20 14:35:33
オリジナル
707 人が閲覧しました

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

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