Heim >Backend-Entwicklung >PHP-Problem >Spalte zum PHP-Array hinzufügen

Spalte zum PHP-Array hinzufügen

PHPz
PHPzOriginal
2023-05-07 13:15:081015Durchsuche

In PHP ist ein Array eine Datenstruktur, die mehrere Werte speichert. Manchmal müssen wir einem Array eine Spalte hinzufügen, beispielsweise um nach einer Datenbankabfrage einige zusätzliche Informationen zum Ergebnissatz hinzuzufügen. In diesem Artikel werden verschiedene Methoden zum Hinzufügen von Spalten in PHP-Arrays vorgestellt.

Methode 1: Verwenden Sie eine Schleife, um neue Spalten zuzuweisen

Die erste Methode besteht darin, eine Schleife zu verwenden, um das Array zu durchlaufen und jedem Array-Element einen Spaltenwert hinzuzufügen. Nehmen wir zum Beispiel an, wir haben das folgende Array:

$persons = array(
  array('name' => 'Tom', 'age' => 24),
  array('name' => 'John', 'age' => 28),
  array('name' => 'Sarah', 'age' => 23)
);

Jetzt möchten wir für jede Person eine Spalte „Geschlecht“ hinzufügen, wobei der Wert automatisch anhand ihres Namens ermittelt wird. Wir können den folgenden Code verwenden, um das Problem zu lösen:

foreach ($persons as &$person) {
  $name = $person['name'];
  if (substr($name, -1) == 'a') {
    $person['gender'] = 'Female';
  } else {
    $person['gender'] = 'Male';
  }
}

Im obigen Code haben wir eine foreach-Schleife verwendet, um die Array-Elemente jeder Person zu durchlaufen. In der Schleife fügen wir dem Array-Element jeder Person eine Spalte „Geschlecht“ hinzu und weisen ihr einen Wert zu.

Es ist zu beachten, dass die Variable $person als Referenz übergeben wird, daher verwenden wir das &-Symbol. Dadurch wird sichergestellt, dass, wenn das von $person referenzierte Element in der Schleife geändert wird, auch die Elemente im ursprünglichen Array geändert werden.

Methode 2: Verwenden Sie die Funktion array_map, um Spalten hinzuzufügen.

Die zweite Methode besteht darin, die integrierte Funktion array_map in PHP zu verwenden, um Spalten hinzuzufügen. Die Funktion array_map wendet eine Funktion auf jedes Element in einem Array an und gibt ein neues Array zurück. Zum Beispiel der folgende Code:

$persons = array(
  array('name' => 'Tom', 'age' => 24),
  array('name' => 'John', 'age' => 28),
  array('name' => 'Sarah', 'age' => 23)
);

$gender_mapper = function($person) {
  $name = $person['name'];
  if (substr($name, -1) == 'a') {
    $person['gender'] = 'Female';
  } else {
    $person['gender'] = 'Male';
  }
  return $person;
};

$new_persons = array_map($gender_mapper, $persons);

Im obigen Code definieren wir eine anonyme Funktion namens $gender_mapper und verwenden diese Funktion, um die Funktion array_map aufzurufen. Die Funktion $gender_mapper akzeptiert einen $person-Array-Parameter, fügt für jede Person eine Spalte „Geschlecht“ hinzu und gibt schließlich das vergrößerte $person-Array zurück.

Es ist zu beachten, dass die Funktion array_map nicht das ursprüngliche Array, sondern ein neues Array zurückgibt. Daher müssen wir die Ergebnisse in einer neuen Variablen $new_persons speichern.

Methode 3: Verwenden Sie die Funktion array_walk, um Spalten hinzuzufügen.

Die dritte Methode besteht darin, die integrierte Funktion array_walk in PHP zu verwenden, um Spalten hinzuzufügen. Die Funktion array_walk durchläuft jedes Element im Array und bearbeitet das Element in der akzeptierten Rückruffunktion, die direkt am ursprünglichen Array geändert werden kann.

$persons = array(
  array('name' => 'Tom', 'age' => 24),
  array('name' => 'John', 'age' => 28),
  array('name' => 'Sarah', 'age' => 23)
);

function add_gender(&$person) {
  $name = $person['name'];
  if (substr($name, -1) == 'a') {
    $person['gender'] = 'Female';
  } else {
    $person['gender'] = 'Male';
  }
}

array_walk($persons, 'add_gender');

Im obigen Code haben wir eine Funktion namens add_gender definiert und diese Funktion verwendet, um die Funktion array_walk aufzurufen. Die Funktion add_gender akzeptiert einen $person-Array-Parameter und fügt für jede Person im Array eine Spalte „Geschlecht“ hinzu.

Es ist zu beachten, dass der Parameter $person in der Funktion add_gender als Referenz übergeben wird, was auch bedeutet, dass wir die Elemente des Arrays $person in der Rückruffunktion ändern.

Zusammenfassung

Oben wurden drei verschiedene Möglichkeiten vorgestellt, Spalten in PHP-Arrays hinzuzufügen. Die erste Methode besteht darin, eine Schleife zum Zuweisen neuer Spalten zu verwenden, die zweite Methode besteht darin, die Funktion array_map zu verwenden, und die dritte Methode besteht darin, die Funktion array_walk zu verwenden. Abhängig von Ihren spezifischen Anforderungen und der Code-Implementierung können Sie eine oder mehrere dieser Methoden auswählen.

Es ist zu beachten, dass die oben genannten Methoden alle für assoziative Arrays gelten. Zum Hinzufügen von Spalten zu gewöhnlichen Arrays verwenden Sie einfach den Operator []. Zum Beispiel:

$arr = array(1, 2, 3);
$arr[] = 4; // 数组末尾增加一列

Das obige ist der detaillierte Inhalt vonSpalte zum PHP-Array hinzufügen. 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