Maison > développement back-end > tutoriel php > Explication graphique détaillée de la méthode de conversion d'un tableau verticalement en horizontal et de filtrage des valeurs en double en PHP

Explication graphique détaillée de la méthode de conversion d'un tableau verticalement en horizontal et de filtrage des valeurs en double en PHP

墨辰丷
Libérer: 2023-03-27 10:50:01
original
1358 Les gens l'ont consulté

Cet article présente principalement la méthode PHP pour convertir le tableau verticalement en horizontal et filtrer les valeurs en double. Il compare et analyse également les techniques de fonctionnement de PHP pour la traversée, la conversion et la déduplication de tableaux sous la forme d'exemples spécifiques. référez-vous à lui

Les détails sont les suivants :

1. Problème

Il existe un tableau :


array(
  6=>array(5=>'黑xx', 42=>'XXL'),
  7=>array(5=>'黑xx', 40=>'XL'),
  8=>array(8=>'灰',  40=>'XL'),
);
Copier après la connexion


nécessite une conversion vers le résultat suivant (convertir le tableau verticalement en horizontal et filtrer les valeurs en double) :


array(
  0=>array(5=>'黑xx', 8=>'灰'),
  1=>array(42=>'XXL', 40=>'XL'),
);
Copier après la connexion


2. Solution :

Méthode 1 :


$a = array(
  6=>array(5=>'黑xx', 42=>'XXL'),
  7=>array(5=>'黑xx', 40=>'XL'),
  8=>array(8=>'灰',  40=>'XL'),
);
foreach($a as $r) {
 $b[key($r)] = current($r);
 next($r);
 $c[key($r)] = current($r);
}
$b = array($b, $c);
print_r($b);
Copier après la connexion


Méthode 2 :


$arr = array(
  6=>array(5=>'黑xx', 42=>'XXL'),
  7=>array(5=>'黑xx', 40=>'XL'),
  8=>array(8=>'灰',  40=>'XL'),
);
$result = array();
foreach($arr as $a){
  $keys = array_keys($a);
  $vals = array_values($a);
  $result[0][$keys[0]] = $vals[0];
  $result[1][$keys[1]] = $vals[1];
}
print_r($result);
Copier après la connexion


La façon la plus simple d'écrire :


$a = array(
  6=>array(5=>'黑xx', 42=>'XXL'),
  7=>array(5=>'黑xx', 40=>'XL'),
  8=>array(8=>'灰',  40=>'XL'),
);
foreach($a as $r) {
 $i = 0;
 while(list($k, $v) = each($r)) $b[$i++][$k] = $v;
}
print_r($b);
Copier après la connexion


Les résultats finaux en cours d'exécution sont :


Array
(
  [0] => Array
    (
      [5] => 黑xx
      [8] => 灰
    )
  [1] => Array
    (
      [42] => XXL
      [40] => XL
    )
)
Copier après la connexion



Recommandations associées :

Tutoriel pratique PHPFiltrage, vérification, échappement et méthodes de mot de passe

Apprentissage de PHP Filtre

sécurité phpFiltrage


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!

Étiquettes associées:
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