この記事の内容は、PHPで配列を最小の数に並べる方法(コード付き)ですので、ある程度参考になる内容ですので、困っている方は参考にしていただければ幸いです。
正の整数の配列を入力し、配列内のすべての数値を連結して数値を形成し、連結できるすべての数値の中で最小の数値を出力します。たとえば、配列 {3, 32, 321} を入力した場合、これら 3 つの数値を出力できる最小の数値は 321323 です。
解決策 1
1. カスタム ソート ルールを使用した配列のソートは、a.b>b.a a と b の位置を交換します
2.usort 関数を使用する
function costomcomp(a,b) return a.b > b.a usort(arr,'costomcomp') return implode('',arr)
解決策 2:バブル法
1. 外層 i をループします
2. 内層 j をループします、判定条件は j=i 1;j
<?php function customComp($a,$b){ return intval($a.''.$b) > intval($b.''.$a); } //解法1:自定义排序 function PrintMinNumber($numbers) { usort($numbers,'customComp'); return intval(implode('',$numbers)); } $arr=array(3,32,321); $result=PrintMinNumber($arr); var_dump($result); $result=PrintMinNumber2($arr); var_dump($result); //解法2:冒泡排序 function PrintMinNumber2($arr) { $length=count($arr); for($i=0;$i<$length;$i++){ for($j=$i+1;$j<$length;$j++){ if(intval($arr[$i].''.$arr[$j])>intval($arr[$j].''.$arr[$i])){ $temp=$arr[$i]; $arr[$i]=$arr[$j]; $arr[$j]=$temp; } } } return intval(implode('',$arr)); }
以上がPHPで配列を最小の数に配置する方法(コードが添付されています)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。