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

墨辰丷
墨辰丷original
2018-05-22 09:51:141377parcourir

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'),
);


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'),
);


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);


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);


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);


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


Array
(
  [0] => Array
    (
      [5] => 黑xx
      [8] => 灰
    )
  [1] => Array
    (
      [42] => XXL
      [40] => XL
    )
)



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!

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