Maison > développement back-end > Problème PHP > ligne du tableau php en colonne

ligne du tableau php en colonne

WBOY
Libérer: 2023-05-19 15:28:39
original
648 Les gens l'ont consulté

En PHP, le tableau est une structure de données très couramment utilisée. Mais parfois, nous devons opérer sur le tableau et convertir des lignes en colonnes ou des colonnes en lignes. Cet article vous présentera comment convertir des lignes en colonnes dans un tableau PHP.

La conversion de ligne en colonne signifie convertir chaque ligne du tableau en colonne pour générer un nouveau tableau. Par exemple, nous avons un tableau nommé $array qui contient les données suivantes :

$array = array(
    array('name'=>'张三', 'age'=>18, 'sex'=>'男'),
    array('name'=>'李四', 'age'=>20, 'sex'=>'男'),
    array('name'=>'王五', 'age'=>22, 'sex'=>'女')
);
Copier après la connexion

Nous voulons le convertir en un tableau au format suivant :

$new_array = array(
    'name' => array('张三', '李四', '王五'),
    'age' => array(18, 20, 22),
    'sex' => array('男', '男', '女')
);
Copier après la connexion

Voici le code pour implémenter la conversion de ligne :

$new_array = array();
foreach($array as $key=>$value){
    foreach($value as $k=>$v){
        $new_array[$k][$key] = $v;
    }
}
Copier après la connexion

Explication du code :

  1. Tout d'abord, nous créons un nouveau tableau $new_array pour stocker les résultats après la conversion des lignes. $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;
}
Copier après la connexion

代码解释:

  1. 首先,我们定义一个函数 array_row2column(),用于将多维数组进行行转列操作。
  2. 然后,我们在函数中判断原数组 $array 是否为数组,如果不是,则返回 false。
  3. 否则,我们创建一个新数组 $new_array 用于存储行转列后的结果。
  4. 我们使用两个 foreach 循环遍历原数组 $array
  5. 外层遍历每一行,内层遍历每一列,并将每一列的值插入到新数组 $new_array 中。
  6. 如果该列的值还是一个数组,则使用递归方法继续处理该数组。
  7. 最后,我们返回新的数组 $new_array
  8. Ensuite, nous utilisons deux boucles foreach pour parcourir le tableau d'origine $array.

La couche externe traverse chaque ligne, la couche interne traverse chaque colonne et insère la valeur de chaque colonne dans le nouveau tableau $new_array.

🎜🎜Si vous devez convertir un tableau multidimensionnel, vous pouvez utiliser une méthode récursive pour y parvenir. Voici le code pour implémenter la conversion ligne en colonne d'un tableau multidimensionnel : 🎜rrreee🎜Explication du code : 🎜🎜🎜Tout d'abord, nous définissons une fonction array_row2column() pour la conversion multidimensionnelle tableaux en lignes et en colonnes. 🎜🎜Ensuite, nous déterminons dans la fonction si le tableau d'origine $array est un tableau, et sinon, renvoyons false. 🎜🎜Sinon, nous créons un nouveau tableau $new_array pour stocker le résultat après la conversion des lignes. 🎜🎜Nous utilisons deux boucles foreach pour parcourir le tableau d'origine $array. 🎜🎜La couche externe traverse chaque ligne, la couche interne traverse chaque colonne et insère la valeur de chaque colonne dans le nouveau tableau $new_array. 🎜🎜Si la valeur de la colonne est toujours un tableau, utilisez la méthode récursive pour continuer le traitement du tableau. 🎜🎜Enfin, nous renvoyons le nouveau tableau $new_array. 🎜🎜🎜À ce stade, nous avons terminé l'opération ligne à colonne. J'espère que cet article sera utile à tout le monde. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal