Heim  >  Artikel  >  Datenbank  >  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

怪我咯
怪我咯Original
2017-06-16 11:22:451227Durchsuche

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

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

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

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

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

Die endgültigen Laufergebnisse sind:

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

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!

Stellungnahme:
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