Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP-Implementierung der kartesischen Produktoperation von Arrays

Detaillierte Erläuterung der PHP-Implementierung der kartesischen Produktoperation von Arrays

小云云
小云云Original
2017-12-18 10:15:012170Durchsuche

Dieser Artikel stellt hauptsächlich die Implementierung der kartesischen Produktoperation von Arrays in PHP vor und analysiert die zugehörigen Implementierungs- und Verwendungstechniken der kartesischen Produktoperation von PHP-Arrays in Form von Beispielen. Ich hoffe, es kann allen helfen.

Das kartesische Produkt von Arrays ist in der Praxis sehr nützlich. Es wird beispielsweise häufig bei der Berechnung von Produktspezifikationen verwendet. Hier ist eine Implementierungsmethode wie folgt:


$arr = array(
  array(2),
  array(6,7),
  array('a','b','c')
);
function dikaer($arr){
 $arr1 = array();
 $result = array_shift($arr);
 while($arr2 = array_shift($arr)){
  $arr1 = $result;
  $result = array();
  foreach($arr1 as $v){
   foreach($arr2 as $v2){
    if(!is_array($v))$v = array($v);
    if(!is_array($v2))$v2 = array($v2);
    $result[] = array_merge_recursive($v,$v2);
   }
  }
 }
 return $result;
}

Das Ausgabeergebnis des obigen Beispiels lautet wie folgt:


Array
(
  [0] => Array
    (
      [0] => 2
      [1] => 6
      [2] => a
    )
  [1] => Array
    (
      [0] => 2
      [1] => 6
      [2] => b
    )
  [2] => Array
    (
      [0] => 2
      [1] => 6
      [2] => c
    )
  [3] => Array
    (
      [0] => 2
      [1] => 7
      [2] => a
    )
  [4] => Array
    (
      [0] => 2
      [1] => 7
      [2] => b
    )
  [5] => Array
    (
      [0] => 2
      [1] => 7
      [2] => c
    )
)

Wenn Sie das Ergebnis in Zeichenfolgenform ausgeben müssen, können Sie das ändern Code dazu


function dikaer($arr){
 $arr1 = array();
 $result = array_shift($arr);
 while($arr2 = array_shift($arr)){
  $arr1 = $result;
  $result = array();
  foreach($arr1 as $v){
   foreach($arr2 as $v2){
    $result[] = $v.','.$v2;
   }
  }
 }
 return $result;
}

Das Ausgabeergebnis ist wie folgt:

Array
(
  [0] => 2,6,a
  [1] => 2,6,b
  [2] => 2,6,c
  [3] => 2,7,a
  [4] => 2,7,b
  [5] => 2,7,c
)

Verwandte Empfehlungen:

php benutzerdefinierte Funktion zum Generieren eines kartesischen Produkts Methode

Benutzerdefinierte PHP-Funktion zum Generieren eines kartesischen Produkts

Mehrere Arrays zum Finden des kartesischen Produkts

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Implementierung der kartesischen Produktoperation von Arrays. 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