Heim  >  Artikel  >  Backend-Entwicklung  >  So ändern Sie den Schlüsselwert im PHP-Array über den Schlüsselnamen

So ändern Sie den Schlüsselwert im PHP-Array über den Schlüsselnamen

PHPz
PHPzOriginal
2023-04-18 14:06:58468Durchsuche

In PHP ist Array einer der am häufigsten verwendeten Datentypen. Es bezieht sich auf eine Sammlung verwandter Variablen. Auf jedes Array-Element kann über den entsprechenden Schlüsselnamen, der eine Ganzzahl oder ein String-Typ sein kann, zugegriffen und manipuliert werden. In einigen Fällen müssen wir den Schlüsselwert im Array über den Schlüsselnamen ändern. Hier stellen wir vor, wie dies erreicht wird.

PHP bietet einige integrierte Funktionen zum Ändern von Array-Elementen, wie z. B. array_replace(), array_replace_recursive(), aber die Nachteile dieser Funktionen sind: if Wenn der Schlüssel Name existiert nicht, fügen Sie ein neues Element hinzu. Wenn Sie dies nicht möchten, ist es möglicherweise besser, eine Funktion zu implementieren, die den Schlüsselwert selbst ändert. array_replace()array_replace_recursive(),但这些函数的存在弊端是:如果键名不存在,则添加新的元素。如果这不是你想要的,那么自己实现一个修改键值的函数可能会更好。

首先我们需要知道,在 PHP 中,数组的键名是一个指向键值的指针,因此,我们可以通过操作键名来修改键值。我们可以使用 array_keys() 函数来获得数组中的所有键名,然后遍历键名,通过当前键名访问键值,如果满足修改的条件,则更新对应的键值。

下面是一个示例函数 change_array_key() 的实现,它对输入数组进行遍历,如果当前键名等于要修改的键名,则将键值修改为新的键值:

function change_array_key($arr, $old_key, $new_value) {
    $keys = array_keys($arr);
    foreach($keys as $key) {
        if($key == $old_key) {
            $arr[$key] = $new_value;
        }
    }
    return $arr;
}

使用上述示例函数,我们可以轻松更改数组中的键值。以下是一个实际的示例:

$arr = array("name"=>"Tom","age"=>23,"sex"=>"male");
echo "修改前:<br>";
print_r($arr);
$new_arr = change_array_key($arr, "age", 24);
echo "修改后:<br>";
print_r($new_arr);

输出结果为:

修改前:
Array
(
    [name] => Tom
    [age] => 23
    [sex] => male
)

修改后:
Array
(
    [name] => Tom
    [age] => 24
    [sex] => male
)

上述代码中,我们首先定义了一个数组 $arr,然后使用 change_array_key() 函数将数组中的 age 键名对应的键值修改为 24,修改后的数组通过 $new_arr 变量返回,最后将修改前后的数组打印输出。

在需要大量修改数组元素的情况下,使用该方法可以更加高效地实现,避免了使用内置函数可能出现的多余元素添加问题。

总之,通过操作数组的键名,我们可以轻松地修改 php 数组中的键值。使用 array_keys()

Zunächst müssen wir wissen, dass in PHP der Schlüsselname des Arrays ein Zeiger auf den Schlüsselwert ist, sodass wir den Schlüsselwert ändern können, indem wir den Schlüsselnamen manipulieren. Wir können die Funktion array_keys() verwenden, um alle Schlüsselnamen im Array abzurufen, dann die Schlüsselnamen zu durchlaufen, über den aktuellen Schlüsselnamen auf den Schlüsselwert zuzugreifen und den entsprechenden Schlüsselwert zu aktualisieren, wenn die Änderungsbedingungen erfüllt sind erfüllt sind. 🎜🎜Das Folgende ist eine Implementierung einer Beispielfunktion change_array_key(), die das Eingabearray durchläuft. Wenn der aktuelle Schlüsselname dem zu ändernden Schlüsselnamen entspricht, wird der Schlüsselwert in geändert neuer Schlüsselwert: 🎜 rrreee🎜Mit der obigen Beispielfunktion können wir den Schlüsselwert im Array einfach ändern. Das Folgende ist ein praktisches Beispiel: 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜rrreee🎜Im obigen Code definieren wir zuerst ein Array $arr und verwenden dann change_array_key() code>-Funktion Ändern Sie den Schlüsselwert, der dem Schlüsselnamen <code>age im Array entspricht, auf 24. Das geänderte Array wird über die Variable $new_arr zurückgegeben. Schließlich das Array vor und nach der Änderung wird gedruckt. 🎜🎜Wenn eine große Anzahl von Array-Elementen geändert werden muss, kann diese Methode verwendet werden, um sie effizienter zu implementieren und das Problem des Hinzufügens redundanter Elemente zu vermeiden, das bei der Verwendung integrierter Funktionen auftreten kann. 🎜🎜Kurz gesagt, durch Bearbeiten der Schlüsselnamen des Arrays können wir die Schlüsselwerte im PHP-Array leicht ändern. Verwenden Sie die Funktion array_keys(), um alle Schlüsselnamen im Array abzurufen, durchlaufen Sie dann die Schlüsselnamen und aktualisieren Sie schließlich die entsprechenden Schlüsselwerte. 🎜

Das obige ist der detaillierte Inhalt vonSo ändern Sie den Schlüsselwert im PHP-Array über den Schlüsselnamen. 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