Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ordne ich ein PHP-Array vollständig an? (Zusammenfassung der Methode)

Wie ordne ich ein PHP-Array vollständig an? (Zusammenfassung der Methode)

PHPz
PHPznach vorne
2016-05-16 09:00:233112Durchsuche

Dieser Artikel bietet Ihnen eine Zusammenfassung der PHP-Methoden, um die vollständige Anordnung eines Arrays und aller Kombinationen von Elementen zu finden. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie ordne ich ein PHP-Array vollständig an? (Zusammenfassung der Methode)

So finden Sie die vollständige Anordnung des Arrays und alle Kombinationen von Elementen in PHP

<?php
$source = array(&#39;pll&#39;,&#39;我&#39;,&#39;爱&#39;,&#39;你&#39;,&#39;嘿&#39;);
sort($source); //保证初始数组是有序的
$last = count($source) - 1; //$source尾部元素下标
$x = $last;
$count = 1; //组合个数统计
echo implode(&#39;,&#39;, $source), "<br>"; //输出第一种组合
while (true) {
$y = $x--; //相邻的两个元素
if ($source[$x] < $source[$y]) { //如果前一个元素的值小于后一个元素的值
$z = $last;
while ($source[$x] > $source[$z]) { //从尾部开始,找到第一个大于 $x 元素的值
$z--;
 }
/* 交换 $x 和 $z 元素的值 */
list($source[$x], $source[$z]) = array($source[$z], $source[$x]);
 /* 将 $y 之后的元素全部逆向排列 */
for ($i = $last; $i > $y; $i--, $y++) {
list($source[$i], $source[$y]) = array($source[$y], $source[$i]);
}
echo implode(&#39;,&#39;, $source), "<br>"; //输出组合
  $x = $last;
  $count++;
 }
 if ($x == 0) { //全部组合完毕
  break;
 }
}
echo &#39;Total: &#39;, $count, "\n";
?>

Empfohlenes Lernen: „PHP-Video-Tutorial

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen