Heim > Backend-Entwicklung > PHP-Problem > PHP zweidimensionales Array löschen

PHP zweidimensionales Array löschen

王林
Freigeben: 2023-05-23 12:05:07
Original
636 Leute haben es durchsucht

In PHP erfordert das Löschen eines zweidimensionalen Arrays normalerweise die Verwendung von Schleifen und bedingten Anweisungen. Bei der tatsächlichen Programmierung stoßen wir normalerweise auf die folgenden zwei Situationen, in denen wir ein zweidimensionales Array löschen müssen:

  1. Löschen Sie das angegebene Element: Sie müssen das Subarray finden, in dem sich das zu löschende Element befindet, und das angegebene Element löschen aus dem Subarray.
  2. Löschen Sie das gesamte Subarray: Sie müssen das übergeordnete Array finden, das das Subarray enthält, das Sie löschen möchten, und das Subarray löschen.

Im Folgenden stellen wir die spezifischen Implementierungsmethoden dieser beiden Arten von Aufgaben vor.

Methode 1: Das angegebene Element löschen

Um ein angegebenes Element zu löschen, müssen wir alle Unterarrays durchlaufen, das Unterarray finden, das das Zielelement enthält, und es aus dem Unterarray löschen. Das Folgende ist ein Codebeispiel, das diesen Prozess implementiert:

// 定义一个二维数组
$arr = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>20),
    array('id'=>2, 'name'=>'Jack', 'age'=>25),
    array('id'=>3, 'name'=>'Mary', 'age'=>30)
);

$target_key = "name"; // 要删除的元素名称
$target_value = "Jack"; // 要删除的元素值

// 遍历所有子数组
foreach($arr as $key=>$value){
    // 判断该子数组是否包含目标元素
    if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){
        // 如果找到了目标元素,就从该子数组中删除之
        unset($arr[$key][$target_key]);
    }
}

// 打印删除后的数组
print_r($arr);
Nach dem Login kopieren

Nach der Ausführung des Codes lautet die Ausgabe:

Array
(
    [0] => Array
        (
            [id] => 1
            [age] => 20
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jack
            [age] => 25
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)
Nach dem Login kopieren

Wie Sie sehen können, hat der Code das Element „name“ im Subarray mit dem Namen „Jack“ erfolgreich gelöscht.

Methode 2: Das gesamte Subarray löschen

Bei der tatsächlichen Programmierung kann es vorkommen, dass wir auf Situationen stoßen, in denen wir das gesamte Subarray löschen müssen. Wenn wir beispielsweise Datenbankabfrageergebnisse verarbeiten, müssen wir ungültige Datensätze aus der Ergebnismenge löschen. Hier ist ein Codebeispiel, das diesen Prozess implementiert:

// 定义一个二维数组
$arr = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>20),
    array('id'=>2, 'name'=>'Jack', 'age'=>25),
    array('id'=>3, 'name'=>'Mary', 'age'=>30)
);

$target_key = "id"; // 要删除的子数组中包含的元素名称
$target_value = 2; // 要删除的子数组中包含的元素值

// 遍历所有子数组
foreach($arr as $key=>$value){
    // 判断该子数组是否包含目标元素
    if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){
        // 如果找到了目标元素,就将整个子数组删除之
        unset($arr[$key]);
    }
}

// 打印删除后的数组
print_r($arr);
Nach dem Login kopieren

Nach der Ausführung des Codes lautet die Ausgabe:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Tom
            [age] => 20
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)
Nach dem Login kopieren

Wie Sie sehen können, entfernt der Code erfolgreich das zweite Unterarray aus dem Array.

Zusammenfassung:

In PHP erfordert das Löschen eines zweidimensionalen Arrays normalerweise die Verwendung von Schleifen und bedingten Anweisungen. Um das angegebene Element zu löschen, müssen wir das Subarray finden, das das Zielelement enthält, und es aus dem Subarray löschen. Um das gesamte Subarray zu löschen, müssen wir das übergeordnete Array finden, das das Ziel-Subarray enthält, und das Subarray löschen. Nachdem wir diese grundlegenden Methoden beherrschen, können wir zweidimensionale Arrays problemlos bedienen und verwalten.

Das obige ist der detaillierte Inhalt vonPHP zweidimensionales Array löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage