Maison  >  Article  >  développement back-end  >  Convertir un tableau unidimensionnel en tableau bidimensionnel php

Convertir un tableau unidimensionnel en tableau bidimensionnel php

WBOY
WBOYoriginal
2023-05-23 11:31:371009parcourir

En PHP, le traitement des tableaux est l'un des besoins les plus courants. Parfois, nous devons convertir un tableau unidimensionnel en un tableau bidimensionnel. Ce processus peut impliquer diverses opérations de données, ce qui nous oblige à utiliser de manière flexible les fonctions de tableau pour réaliser la conversion. Cet article présentera quelques méthodes et techniques pour convertir des tableaux unidimensionnels en tableaux bidimensionnels en PHP.

1. La nécessité de convertir un tableau unidimensionnel en un tableau bidimensionnel

En PHP, les tableaux unidimensionnels et les tableaux bidimensionnels sont des structures de données courantes. Un tableau unidimensionnel est un tableau à une seule dimension et est généralement utilisé pour stocker un ensemble de données associées, telles que les résultats d'un test d'un élève. Un tableau à deux dimensions contient un tableau à deux dimensions et est généralement utilisé pour stocker plusieurs ensembles de données associées, telles que les résultats aux tests de tous les élèves d'une classe. En PHP, nous utilisons généralement la fonction tableau pour créer des tableaux à une dimension et la fonction tableau de deuxième niveau pour créer des tableaux à deux dimensions. Voici un exemple simple pour créer un tableau unidimensionnel et un tableau bidimensionnel :

$array1 = array("语文"=>85, "数学"=>90, "英语"=>88);
$array2 = array(
             array("姓名"=>"张三","语文"=>85,"数学"=>90,"英语"=>88),
             array("姓名"=>"李四","语文"=>89,"数学"=>92,"英语"=>86),
             array("姓名"=>"王五","语文"=>90,"数学"=>87,"英语"=>91),
             array("姓名"=>"赵六","语文"=>88,"数学"=>91,"英语"=>89)
          );

Parfois, nous rencontrons des situations où nous devons convertir un tableau unidimensionnel en un tableau bidimensionnel. Par exemple, nous avons un groupe de résultats de tests d'étudiants. Nous devons regrouper ce groupe de résultats selon certaines règles, puis les convertir en un tableau bidimensionnel pour faciliter le traitement ou l'affichage ultérieur. Il s'agit de la nécessité de convertir un tableau unidimensionnel en un tableau bidimensionnel. Certaines méthodes de mise en œuvre seront présentées ci-dessous.

2. Utilisez la fonction array_chunk

La fonction array_chunk est l'une des fonctions intégrées de PHP. Sa fonction est de diviser un tableau unidimensionnel en plusieurs petits tableaux de longueurs spécifiées, puis de renvoyer ces petits tableaux en deux nouveaux. -tableau dimensionnel. Par exemple, nous avons le tableau unidimensionnel suivant :

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);

Nous devons regrouper ce tableau en groupes de 4 puis le convertir en un nouveau tableau bidimensionnel. Vous pouvez utiliser la méthode suivante :

$grouped_scores = array_chunk($students_scores, 4);

Cette méthode va. return a length est un tableau bidimensionnel de 3, chaque petit tableau contient 4 éléments. Si la longueur du tableau d'origine n'est pas un multiple entier de la longueur du petit tableau, le dernier petit tableau contiendra les éléments restants. Nous pouvons utiliser la fonction var_dump pour afficher les résultats :

var_dump($grouped_scores);

Les résultats d'exécution sont les suivants :

array (size=3)
  0 => 
    array (size=4)
      0 => int 85
      1 => int 90
      2 => int 88
      3 => int 89
  1 => 
    array (size=4)
      0 => int 92
      1 => int 86
      2 => int 90
      3 => int 87
  2 => 
    array (size=4)
      0 => int 91
      1 => int 88
      2 => int 91
      3 => int 89

Comme vous pouvez le voir, le tableau d'origine est divisé en trois petits tableaux de longueur 4, puis ces petits tableaux forment un nouveau tableau bidimensionnel.

3. Utilisez la fonction array_map

La fonction array_map est l'une des fonctions intégrées de PHP. Sa fonction est d'appliquer une fonction de rappel spécifiée à chaque élément d'un ou plusieurs tableaux. Nous pouvons utiliser la fonction array_map pour convertir un tableau unidimensionnel en un tableau bidimensionnel. La méthode spécifique est la suivante :

function group_by($n, $array) {
   return array_chunk($array, $n);
}

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);

$grouped_scores = array_map('group_by', array(4), array($students_scores));

Parmi elles, la fonction group_by est utilisée pour regrouper un tableau unidimensionnel en un tableau bidimensionnel de longueur $n$. Nous appliquons ensuite cette fonction au tableau $students_scores$ à l'aide de la fonction array_map, résultant en un nouveau tableau 2D. Si les longueurs à diviser sont différentes, vous pouvez modifier le premier paramètre de la fonction tableau en un tableau d'une longueur de $m$, où $m$ est la longueur à diviser. Par exemple, le code suivant divise le tableau d'origine en un tableau bidimensionnel de longueur 3 et de longueur 4 :

$grouped_scores = array_map('group_by', array(3,4), array($students_scores));

4. Utiliser le parcours de boucle

En PHP, nous pouvons utiliser le parcours de boucle pour convertir un tableau unidimensionnel en Convertir en un tableau bidimensionnel. La méthode spécifique est la suivante :

$students_scores = array(85, 90, 88, 89, 92, 86, 90, 87, 91, 88, 91, 89);

$grouped_scores = array();

for ($i = 0; $i < count($students_scores); $i += 4) {
    $grouped_scores[] = array_slice($students_scores, $i, 4);
}

Parmi elles, la fonction array_slice est utilisée pour obtenir la partie spécifiée d'un tableau. Ici, nous utilisons le parcours de boucle pour diviser le tableau d'origine, en retirant 4 éléments à partir de $i$ à chaque fois, puis en les ajoutant au tableau résultat sous la forme d'un petit tableau.

5. Résumé

Il existe de nombreuses façons de convertir un tableau unidimensionnel en un tableau bidimensionnel en PHP, la plus courante consiste à utiliser la fonction array_chunk ou l'implémentation de parcours de boucle. La fonction array_map est également une méthode plus flexible et peut utiliser différentes longueurs de division en fonction de différents besoins. Dans les applications pratiques, nous devons choisir différentes méthodes en fonction de la situation réelle pour obtenir le meilleur effet de conversion.

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!

Déclaration:
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