Maison > base de données > tutoriel mysql > le corps du texte

Analyse sur la méthode de conversion d'un tableau verticalement en horizontal et filtrage des valeurs en double en PHP

怪我咯
Libérer: 2017-06-16 11:22:45
original
1250 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

L'exemple de cet article décrit la méthode de conversion d'un tableau verticalement en horizontal et de filtrage des valeurs en double en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1 Question

Il y a un tableau :

<.>

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

doit être converti en le résultat suivant (le tableau est tourné verticalement et horizontalement et les valeurs en double sont filtrées) :

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

2. Solution :

Méthode 1 :

$a = array(
  6=>array(5=>&#39;黑xx&#39;, 42=>&#39;XXL&#39;),
  7=>array(5=>&#39;黑xx&#39;, 40=>&#39;XL&#39;),
  8=>array(8=>&#39;灰&#39;,  40=>&#39;XL&#39;),
);
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=>&#39;黑xx&#39;, 42=>&#39;XXL&#39;),
  7=>array(5=>&#39;黑xx&#39;, 40=>&#39;XL&#39;),
  8=>array(8=>&#39;灰&#39;,  40=>&#39;XL&#39;),
);
$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

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

$a = array(
  6=>array(5=>&#39;黑xx&#39;, 42=>&#39;XXL&#39;),
  7=>array(5=>&#39;黑xx&#39;, 40=>&#39;XL&#39;),
  8=>array(8=>&#39;灰&#39;,  40=>&#39;XL&#39;),
);
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

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