Heim > Artikel > Backend-Entwicklung > So generieren Sie ein kartesisches Produkt mithilfe einer benutzerdefinierten PHP-Funktion
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('red', 'green'); $size = array(39, 40, 41); $local = array('beijing', 'shanghai'); 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; } ?>
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 ) )
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!