Heim > Datenbank > MySQL-Tutorial > Analyse der Methode zum Konvertieren eines Arrays vertikal in horizontal und zum Filtern doppelter Werte in PHP

Analyse der Methode zum Konvertieren eines Arrays vertikal in horizontal und zum Filtern doppelter Werte in PHP

怪我咯
Freigeben: 2017-06-16 11:22:45
Original
1267 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode von PHP zur vertikalen in horizontalen Konvertierung von Arrays und zum Filtern doppelter Werte vorgestellt. Außerdem werden die Betriebstechniken von PHP für die Array-Durchquerung, Konvertierung und Deduplizierung anhand spezifischer Beispiele verglichen und analysiert siehe es

Das Beispiel in diesem Artikel beschreibt die Methode zum Konvertieren eines Arrays vertikal in horizontal und zum Filtern doppelter Werte in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Frage

Es gibt ein Array:

array(
  6=>array(5=>'黑xx', 42=>'XXL'),
  7=>array(5=>'黑xx', 40=>'XL'),
  8=>array(8=>'灰',  40=>'XL'),
);
Nach dem Login kopieren

muss in das folgende Ergebnis umgewandelt werden (das Array wird vertikal und horizontal gedreht und doppelte Werte werden gefiltert):

array(
  0=>array(5=>'黑xx', 8=>'灰'),
  1=>array(42=>'XXL', 40=>'XL'),
);
Nach dem Login kopieren

2. Lösung:

Methode 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);
Nach dem Login kopieren

Methode 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);
Nach dem Login kopieren

Die einfachste Schreibweise:

$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);
Nach dem Login kopieren

Die endgültigen Laufergebnisse sind:

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

Das obige ist der detaillierte Inhalt vonAnalyse der Methode zum Konvertieren eines Arrays vertikal in horizontal und zum Filtern doppelter Werte in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage