So entfernen Sie einen Schlüssel aus einem Array in PHP

PHPz
Freigeben: 2023-04-18 14:18:15
Original
661 Leute haben es durchsucht

In PHP ist der Umgang mit Arrays eine der häufigsten Aufgaben. Die leistungsstarke PHP-Funktionsbibliothek bietet verschiedene Methoden zum Umgang mit Arrays. Während der Entwicklung müssen Sie manchmal einen bestimmten Schlüssel in einem Array entfernen. In diesem Artikel erfahren Sie, wie Sie in PHP einen Schlüssel aus einem Array entfernen.

Was ist ein Array?

Ein Array ist eine Datenstruktur, die zum Speichern einer Folge von Werten oder Elementen in einer einzelnen Variablen verwendet wird. Die Elemente eines Arrays können beliebige Datentypen sein, einschließlich Zahlen, Zeichenfolgen, Objekte und andere Arrays. Der Zugriff auf jedes Element erfolgt über einen eindeutigen Schlüssel.

In PHP können Array-Schlüssel Ganzzahlen oder Zeichenfolgen sein. Wenn die Schlüssel ganze Zahlen sind, wird das Array als indiziertes Array bezeichnet, andernfalls als assoziatives Array.

Hier ist ein einfaches PHP-Array-Beispiel:

$fruits = array("apple", "banana", "orange", "kiwi");
Nach dem Login kopieren

Dieses Array besteht aus vier Elementen, jedes Element hat einen Schlüssel (0,1,2,3). Auf Array-Elemente kann mit diesen Schlüsseln zugegriffen werden:

echo $fruits[0]; // 输出 "apple"
Nach dem Login kopieren

In einem assoziativen Array können Sie Zeichenfolgen als Schlüssel verwenden. Hier ist ein Beispiel für ein assoziatives Array:

$person = array("姓名" => "张三", "年龄" => 30, "职业" => "程序员");
Nach dem Login kopieren

In diesem Array sind „Name“, „Alter“ und „Beruf“ allesamt Schlüssel des assoziativen Arrays. Auf die entsprechenden Werte kann mit diesen Tasten zugegriffen werden:

echo $person["姓名"]; // 输出 "张三"
Nach dem Login kopieren

unset()-Funktion in PHP

In PHP können Sie die unset()-Funktion verwenden, um Elemente aus einem Array zu löschen. Es ist jedoch zu beachten, dass diese Funktion kein neues Array zurückgibt, sondern Elemente im ursprünglichen Array eliminiert.

unset($fruits[0]); // 删除数组中的第一个元素
Nach dem Login kopieren

Im obigen Beispiel wird die Funktion unset() verwendet, um das erste Element des Arrays $fruits zu löschen. Nach diesem Vorgang existiert das erste Element im Array $fruits nicht mehr.

Entfernen Sie einen Schlüssel in einem Array.

Das Löschen eines Array-Elements kann die Struktur und numerische Indizierung des Arrays zerstören. Wenn Sie ein Element aus einem Array entfernen und den ursprünglichen Array-Index beibehalten möchten, können Sie die PHP-Funktion array_splice() verwenden, um einen Schlüssel zu entfernen.

So löschen Sie einen bestimmten Schlüssel in einem assoziativen Array:

function remove_key($arr, $key) {
    if(array_key_exists($key, $arr)) {
        $keys = array_keys($arr);
        $index = array_search($key, $keys);
        if($index !== false) {
            array_splice($arr, $index, 1);
        }
    }
    return $arr;
}
Nach dem Login kopieren

Die Funktion array_key_exists() in der obigen Funktion wird verwendet, um zu überprüfen, ob der angegebene Schlüssel vorhanden ist. Wenn es vorhanden ist, verwenden Sie die Funktion array_keys(), um alle Schlüssel des Arrays zurückzugeben, und verwenden Sie dann die Funktion array_search(), um die Position des angegebenen Schlüssels im Schlüsselarray zu finden.

Verwenden Sie abschließend die Funktion array_splice(), um den angegebenen Schlüssel aus dem Array zu entfernen. Diese Funktion wird verwendet, um Elemente zu einem Array hinzuzufügen oder daraus zu entfernen, wobei der ursprüngliche Array-Index unverändert bleibt.

So löschen Sie einen bestimmten Schlüssel im Indexarray:

function remove_index($arr, $index) {
    if(isset($arr[$index])) {
        array_splice($arr, $index, 1);
    }
    return $arr;
}
Nach dem Login kopieren

Die Funktion isset() in der obigen Funktion wird verwendet, um zu überprüfen, ob der angegebene Index vorhanden ist. Falls vorhanden, wird der angegebene Index mit der Funktion array_splice() aus dem Array entfernt. Im Gegensatz zur vorherigen Funktion muss diese Funktion die Position des angegebenen Schlüssels im Schlüsselarray nicht ermitteln, da im Indexarray direkt über den Index auf die Arrayelemente zugegriffen werden kann.

Beispiel

Jetzt wollen wir sehen, wie man die obige Funktion in der Praxis nutzt. Nachfolgend finden Sie ein Beispiel, das zeigt, wie Sie mit diesen Funktionen bestimmte Schlüssel aus assoziativen und indizierten Arrays entfernen.

// 删除指定键的关联数组元素
$person = array("姓名" => "张三", "年龄" => 30, "职业" => "程序员");
$person = remove_key($person, "职业");

print_r($person); // 输出 Array ( [姓名] => 张三 [年龄] => 30 )

// 删除指定键的索引数组元素
$fruits = array("apple", "banana", "orange", "kiwi");
$fruits = remove_index($fruits, 1);

print_r($fruits); // 输出 Array ( [0] => apple [1] => orange [2] => kiwi )
Nach dem Login kopieren

Im obigen Beispiel haben wir zunächst ein assoziatives Array $person und ein indiziertes Array $fruits erstellt. Dann verwenden wir die Funktion „remove_key()“, um das Element „occupation“ im Array „$person“ zu löschen, und verwenden die Funktion „remove_index()“, um das Element „banana“ mit Index 1 im Array „$fruits“ zu löschen.

Schließlich haben wir die Funktion print_r() verwendet, um das geänderte Array auszugeben.

Fazit

In diesem Artikel haben wir gelernt, wie man in PHP einen Schlüssel aus einem Array entfernt und dabei den ursprünglichen Array-Index beibehält. Array-Elemente können mit der Funktion unset() gelöscht werden, diese Methode kann jedoch die Struktur und die numerische Indizierung des Arrays zerstören.

Wenn Sie ein Element aus einem Array löschen und den ursprünglichen Array-Index beibehalten möchten, können Sie die PHP-Funktion array_splice() verwenden, um einen Schlüssel zu löschen. Gleichzeitig stellen wir zwei Funktionen „remove_key()“ und „remove_index()“ zum Löschen der angegebenen Schlüssel im assoziativen Array bzw. Index-Array bereit.

Abschließend sollten Sie bei der Verwendung von PHP-Array-Funktionen vorsichtig sein, um unvorhersehbare Änderungen am Array zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie einen Schlüssel aus einem Array in PHP. 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