Heim > Backend-Entwicklung > PHP-Problem > PHP-Array von Zeile zu Spalte

PHP-Array von Zeile zu Spalte

WBOY
Freigeben: 2023-05-19 15:28:39
Original
639 Leute haben es durchsucht

In PHP ist Array eine sehr häufig verwendete Datenstruktur. Aber manchmal müssen wir das Array bearbeiten und Zeilen in Spalten oder Spalten in Zeilen konvertieren. In diesem Artikel erfahren Sie, wie Sie Zeilen in einem PHP-Array in Spalten konvertieren.

Row to Column bezieht sich auf die Konvertierung jeder Zeile im Array in eine Spalte, um ein neues Array zu generieren. Zum Beispiel haben wir ein Array mit dem Namen $array, das die folgenden Daten enthält:

$array = array(
    array('name'=>'张三', 'age'=>18, 'sex'=>'男'),
    array('name'=>'李四', 'age'=>20, 'sex'=>'男'),
    array('name'=>'王五', 'age'=>22, 'sex'=>'女')
);
Nach dem Login kopieren

Wir möchten es in ein Array im folgenden Format konvertieren:

$new_array = array(
    'name' => array('张三', '李四', '王五'),
    'age' => array(18, 20, 22),
    'sex' => array('男', '男', '女')
);
Nach dem Login kopieren

Das Folgende ist der Code zum Implementieren der Zeilenkonvertierung:

$new_array = array();
foreach($array as $key=>$value){
    foreach($value as $k=>$v){
        $new_array[$k][$key] = $v;
    }
}
Nach dem Login kopieren

Codeerklärung :

  1. Zuerst erstellen wir ein neues Array $new_array, um die Ergebnisse nach der Zeilenkonvertierung zu speichern. $new_array 用于存储行转列后的结果。
  2. 然后,我们使用两个 foreach 循环遍历原数组 $array
  3. 外层遍历每一行,内层遍历每一列,并将每一列的值插入到新数组 $new_array 中。

如果需要转换多维数组,可以使用递归的方法实现。下面是实现多维数组行转列的代码:

function array_row2column($array){
    if(!is_array($array)){
        return false;
    }
    $new_array = array();
    foreach($array as $key=>$value){
        foreach($value as $k=>$v){
            $new_array[$k][$key] = (is_array($v)) ? array_row2column($v) : $v;
        }
    }
    return $new_array;
}
Nach dem Login kopieren

代码解释:

  1. 首先,我们定义一个函数 array_row2column(),用于将多维数组进行行转列操作。
  2. 然后,我们在函数中判断原数组 $array 是否为数组,如果不是,则返回 false。
  3. 否则,我们创建一个新数组 $new_array 用于存储行转列后的结果。
  4. 我们使用两个 foreach 循环遍历原数组 $array
  5. 外层遍历每一行,内层遍历每一列,并将每一列的值插入到新数组 $new_array 中。
  6. 如果该列的值还是一个数组,则使用递归方法继续处理该数组。
  7. 最后,我们返回新的数组 $new_array
  8. Dann verwenden wir zwei foreach-Schleifen, um das ursprüngliche Array $array zu durchlaufen.

Die äußere Schicht durchläuft jede Zeile, die innere Schicht durchläuft jede Spalte und fügt den Wert jeder Spalte in das neue Array $new_array ein.

🎜🎜Wenn Sie ein mehrdimensionales Array konvertieren müssen, können Sie dazu eine rekursive Methode verwenden. Das Folgende ist der Code zum Implementieren der Zeilen-zu-Spalten-Konvertierung eines mehrdimensionalen Arrays: 🎜rrreee🎜Code-Erklärung: 🎜🎜🎜Zuerst definieren wir eine Funktion array_row2column(), die dazu verwendet wird Konvertieren Sie mehrdimensionale Arrays in Zeilen und Spalten. 🎜🎜Dann bestimmen wir in der Funktion, ob das ursprüngliche Array $array ein Array ist, und wenn nicht, geben wir false zurück. 🎜🎜Andernfalls erstellen wir ein neues Array $new_array, um das Ergebnis nach der Zeilenkonvertierung zu speichern. 🎜🎜Wir verwenden zwei foreach-Schleifen, um das ursprüngliche Array $array zu durchlaufen. 🎜🎜Die äußere Schicht durchläuft jede Zeile, die innere Schicht durchläuft jede Spalte und fügt den Wert jeder Spalte in das neue Array $new_array ein. 🎜🎜Wenn der Wert der Spalte immer noch ein Array ist, verwenden Sie die rekursive Methode, um mit der Verarbeitung des Arrays fortzufahren. 🎜🎜Schließlich geben wir das neue Array $new_array zurück. 🎜🎜🎜An diesem Punkt haben wir den Zeilen-zu-Spalten-Vorgang abgeschlossen. Ich hoffe, dieser Artikel wird für alle hilfreich sein. 🎜

Das obige ist der detaillierte Inhalt vonPHP-Array von Zeile zu Spalte. 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