Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns ausführlich über die Ersetzungselementoperation von PHP-Arrays sprechen

Lassen Sie uns ausführlich über die Ersetzungselementoperation von PHP-Arrays sprechen

PHPz
PHPzOriginal
2023-04-23 09:18:00530Durchsuche

PHP ist eine weit verbreitete serverseitige Skriptsprache. Sie verfügt über leistungsstarke Datenverarbeitungsfunktionen und Flexibilität und wird häufig in der Webentwicklung verwendet. Unter diesen ist Array ein sehr wichtiger Datentyp, der häufig zum Speichern und Bearbeiten von Daten verwendet wird. In PHP können wir integrierte Funktionen verwenden, um verschiedene Vorgänge an Arrays auszuführen, z. B. Hinzufügen, Löschen, Abfragen, Sortieren, Durchlaufen usw. Dieser Artikel konzentriert sich auf die Ersetzungselementoperation von PHP-Arrays und stellt spezifische Codebeispiele bereit.

1. Allgemeine Funktionen zum Ersetzen von Array-Elementen

PHP bietet mehrere Funktionen zum Ersetzen von Elementen in Arrays, von denen die folgenden drei Funktionen am häufigsten verwendet werden: #🎜 🎜#

    array_replace($array1, $array2)
Diese Funktion ersetzt die Elemente in Array 2 durch die entsprechenden Elemente in Array 1. Wenn Array 1 Oder wenn dort Sind in Array 2 die gleichen Schlüsselnamen vorhanden, verwenden Sie den Wert im letzteren Array, um den Wert im vorherigen Array zu ersetzen. Schauen Sie sich bitte das folgende Codebeispiel an:

$array1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$array2 = array('a' => 'apricot', 'd' => 'date');
$result = array_replace($array1, $array2);
print_r($result);
Führen Sie den obigen Code aus. Sie erhalten die folgende Ausgabe:

Array
(
    [a] => apricot
    [b] => banana
    [c] => cherry
    [d] => date
)
Wie Sie sehen können, das Schlüssel-Wert-Paar im Array 1 ('a'= >'apple') wurde durch das Schlüssel-Wert-Paar in Array 2 ('a'=>'apricot') und das neue Schlüssel-Wert-Paar in Array 2 ('d') ersetzt. =>'date') Wird auch zum endgültigen Ergebnisarray hinzugefügt.

    array_replace_recursive($array1, $array2)
Diese Funktion ist array_replace() sehr ähnlich, ersetzt jedoch rekursiv die Elemente im Array 2 Das Element ersetzt das entsprechende Element in Array 1. Wenn der Wert in Array1 oder Array2 ein Array ist, werden die Schlüssel-Wert-Paare in diesem Wert ebenfalls rekursiv ersetzt. Schauen Sie sich bitte das folgende Codebeispiel an:

$array1 = array('a' => array('b' => 'blue', 'c' => 'cyan'), 'd' => 'black');
$array2 = array('a' => array('b' => 'brown', 'e' => 'emerald'));
$result = array_replace_recursive($array1, $array2);
print_r($result);
Führen Sie den obigen Code aus. Sie erhalten die folgende Ausgabe:

Array
(
    [a] => Array
        (
            [b] => brown
            [c] => cyan
            [e] => emerald
        )

    [d] => black
)
Wie Sie sehen können, das Schlüssel-Wert-Paar im Array 1 ('a'= >array('b'=>'blue', 'c'=>'cyan')) wurde durch das Schlüssel-Wert-Paar in Array 2 ('a'=>') ersetzt. array('b'=>' brown', 'e'=>'emerald')). Darüber hinaus werden auch die Subarrays innerhalb des Arrays rekursiv ersetzt.

    array_splice($array, $offset, $length, $replacement)
Diese Funktion wird verwendet, um das Element an der angegebenen Position zu löschen im Array und fügen Sie an dieser Position ein neues Element ein. Insbesondere stellt der Parameter $offset die Startindexposition des zu löschenden/ersetzenden Elements dar, der Parameter $length stellt die Anzahl der zu löschenden Elemente dar (0, wenn keine Elemente gelöscht werden) und der Parameter $replacement stellt das neue Element dar einzufügen. Bitte schauen Sie sich das folgende Codebeispiel an:

$array = array('red', 'green', 'blue', 'yellow');
array_splice($array, 1, 2, array('purple', 'orange'));
print_r($array);
Führen Sie den obigen Code aus und Sie erhalten die folgende Ausgabe:

Array
(
    [0] => red
    [1] => purple
    [2] => orange
    [3] => yellow
)
Sie können sehen, dass die 2 Elemente ab Index 1 in Das ursprüngliche Array ('grün', 'blau') wurde entfernt und zwei neue Elemente ('lila', 'orange') wurden am Index 1 eingefügt.

2. Anwendungsbeispiele

Lassen Sie uns nun einen Blick darauf werfen, wie Sie die obige Funktion verwenden, um Elemente in einem PHP-Array basierend auf bestimmten Anwendungsszenarien zu ersetzen.

    Anwendung von Ersetzungsregeln
Angenommen, wir haben ein Array, in dem die Schlüsselnamen die chinesischen Namen einiger Pflanzen und die Schlüsselwerte sind Sind das englische Namen? Nun wollen wir die englischen Namen einiger dieser Pflanzen ersetzen, wie zum Beispiel „apple“ durch „orange“ und „cherry“ durch „grape“, wobei der Rest unverändert bleibt. Dies kann mit der Funktion array_replace() erreicht werden. Bitte schauen Sie sich den Beispielcode unten an:

$plants = array('苹果' => 'apple', '香蕉' => 'banana', '樱桃' => 'cherry', '葡萄' => 'grape');
$rules = array('apple' => 'orange', 'cherry' => 'grape');
$newPlants = array_replace($plants, $rules);
print_r($newPlants);
Führen Sie den obigen Code aus. Sie erhalten die folgende Ausgabe:

Array
(
    [苹果] => orange
    [香蕉] => banana
    [樱桃] => grape
    [葡萄] => grape
)
Wie Sie sehen können, lauten die Schlüsselnamen „apple“ und „Kirsche“ Die Werte wurden durch „Orange“ bzw. „Traube“ ersetzt, während die übrigen Schlüsselwerte unverändert bleiben.

    Anwendung mehrdimensionaler Arrays
Angenommen, wir haben ein mehrdimensionales Array, in dem die Schlüsselnamen die Namen einiger Städte und der Schlüsselwert sind ein assoziatives Array, das die Bevölkerung, die Industrie und andere Informationen der Stadt enthält. Jetzt möchten wir die Bevölkerung bestimmter Städte addieren und subtrahieren und die Ergebnisse wieder im ursprünglichen Array speichern. Dies kann mit der Funktion array_replace_recursive() erreicht werden. Der Code lautet wie folgt:

$cities = array(
    '北京市' => array('人口' => 2154, '产业' => '政治、文化、金融、科技'),
    '上海市' => array('人口' => 2424, '产业' => '金融、贸易、科技、文化'),
    '广州市' => array('人口' => 1500, '产业' => '商贸、制造、物流、金融')
);
$rules = array(
    '北京市' => array('人口' => -100),
    '广州市' => array('人口' => 200)
);
$newCities = array_replace_recursive($cities, $rules);
print_r($newCities);
Führen Sie den obigen Code aus und Sie erhalten die folgende Ausgabe:

Array
(
    [北京市] => Array
        (
            [人口] => 2054
            [产业] => 政治、文化、金融、科技
        )

    [上海市] => Array
        (
            [人口] => 2424
            [产业] => 金融、贸易、科技、文化
        )

    [广州市] => Array
        (
            [人口] => 1700
            [产业] => 商贸、制造、物流、金融
        )
)
Wie Sie können Sehen Sie, die Bevölkerung von Peking ist um 100 Millionen zurückgegangen, die Bevölkerung von Guangzhou City ist um 2 Millionen gestiegen, während die Informationen von Shanghai City unverändert geblieben sind.

    Anwendung zum Löschen bestimmter Elemente
Angenommen, wir haben ein Array, das die Namen und das Alter mehrerer Personen speichert. Jetzt möchten wir Informationen für Personen löschen, die 30 Jahre oder älter sind. Dies kann mit der Funktion array_splice() erreicht werden. Der Code lautet wie folgt:

$people = array(
    array('name' => '张三', 'age' => 25),
    array('name' => '李四', 'age' => 35),
    array('name' => '王五', 'age' => 28),
    array('name' => '赵六', 'age' => 42)
);
for ($i = count($people) - 1; $i >= 0; $i--) {
    if ($people[$i]['age'] >= 30) {
        array_splice($people, $i, 1);
    }
}
print_r($people);
Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Ausgabe:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 25
        )

    [1] => Array
        (
            [name] => 王五
            [age] => 28
        )

)
As Sie können sehen, dass die Daten von zwei Personen, die 30 Jahre oder älter sind, erfolgreich gelöscht wurden, während die Daten von zwei Personen, die jünger als 30 Jahre sind, unverändert geblieben sind.

3. Zusammenfassung

In PHP ist ein Array eine sehr häufig verwendete Datenstruktur. Wir können es mit verschiedenen Funktionen hinzufügen, löschen, ändern und überprüfen. In diesem Artikel stellen wir die Ersetzungselementoperation von PHP-Arrays vor, konzentrieren uns dabei auf die Verwendung der drei Funktionen array_replace(), array_replace_recursive() und array_splice() und stellen Codebeispiele basierend auf spezifischen Anwendungsszenarien bereit. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die relevanten Kenntnisse über PHP-Arrays besser zu verstehen und zu nutzen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns ausführlich über die Ersetzungselementoperation von PHP-Arrays sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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