So generieren Sie ein kartesisches Produkt mithilfe einer benutzerdefinierten PHP-Funktion

黄舟
Freigeben: 2023-03-16 14:50:01
Original
1916 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode zum Generieren kartesischer Produkte in PHP basierend auf benutzerdefinierten Funktionen vor. Er analysiert die zugehörigen Betriebsfähigkeiten von PHP mithilfe von Array-Operationen, um Sammlungen zu simulieren, um kartesische Produktoperationen anhand spezifischer Beispiele zu implementieren dazu

Das Beispiel in diesem Artikel beschreibt, wie PHP ein kartesisches Produkt basierend auf einer benutzerdefinierten Funktion generiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:


<?php
  $color = array(&#39;red&#39;, &#39;green&#39;);
  $size = array(39, 40, 41);
  $local = array(&#39;beijing&#39;, &#39;shanghai&#39;);
  echo "<pre class="brush:php;toolbar:false">";
  print_r(combineDika($color, $size, $local));
  /**
   * 所有数组的笛卡尔积
   *
   * @param unknown_type $data
   */
  function combineDika() {
    $data = func_get_args();
    $cnt = count($data);
    $result = array();
    foreach($data[0] as $item) {
      $result[] = array($item);
    }
    for($i = 1; $i < $cnt; $i++) {
      $result = combineArray($result,$data[$i]);
    }
    return $result;
  }
  /**
   * 两个数组的笛卡尔积
   *
   * @param unknown_type $arr1
   * @param unknown_type $arr2
   */
  function combineArray($arr1,$arr2) {
    $result = array();
    foreach ($arr1 as $item1) {
      foreach ($arr2 as $item2) {
        $temp = $item1;
        $temp[] = $item2;
        $result[] = $temp;
      }
    }
    return $result;
  }
?>
Nach dem Login kopieren

Laufergebnisse:


Array
(
  [0] => Array
    (
      [0] => red
      [1] => 39
      [2] => beijing
    )
  [1] => Array
    (
      [0] => red
      [1] => 39
      [2] => shanghai
    )
  [2] => Array
    (
      [0] => red
      [1] => 40
      [2] => beijing
    )
  [3] => Array
    (
      [0] => red
      [1] => 40
      [2] => shanghai
    )
  [4] => Array
    (
      [0] => red
      [1] => 41
      [2] => beijing
    )
  [5] => Array
    (
      [0] => red
      [1] => 41
      [2] => shanghai
    )
  [6] => Array
    (
      [0] => green
      [1] => 39
      [2] => beijing
    )
  [7] => Array
    (
      [0] => green
      [1] => 39
      [2] => shanghai
    )
  [8] => Array
    (
      [0] => green
      [1] => 40
      [2] => beijing
    )
  [9] => Array
    (
      [0] => green
      [1] => 40
      [2] => shanghai
    )
  [10] => Array
    (
      [0] => green
      [1] => 41
      [2] => beijing
    )
  [11] => Array
    (
      [0] => green
      [1] => 41
      [2] => shanghai
    )
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo generieren Sie ein kartesisches Produkt mithilfe einer benutzerdefinierten PHP-Funktion. 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