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 ) )
Tutoriel pratique PHPFiltrage, vérification, échappement et méthodes de mot de passe
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!