【发布时间】:2021-08-04 13:47:50
【问题描述】:
我需要按衣服尺寸对数组进行排序,如下例所示。
我需要从 :['M', 'M', 'S', 'XL', 'L', 'XL', 'S', 'M', 'XL', 'S']
并到达:['S', 'S', 'S', 'M', 'M', 'M', 'L', 'XL', 'XL', 'XL']
这就是我所做的。它有效,但我不喜欢它,它似乎没有优化。我希望我只有一个 foreach
function trier(array $table):array{
$tableauVide=[];
foreach($table as $element){
if($element=='S'){
array_push($tableauVide,$element);
}
}
foreach($table as $element){
if($element=='M'){
array_push($tableauVide,$element);
}
}
foreach($table as $element){
if($element=='L'){
array_push($tableauVide,$element);
}
}
foreach($table as $element){
if($element=='XL'){
array_push($tableauVide,$element);
}
}
return $tableauVide; }
var_dump(trier(['M', 'M', 'S', 'XL', 'L', 'XL', 'S', 'M', 'XL', 'S']));
我是 PHP 新手,所以我阅读了很多东西来对数组进行排序。就像函数 usort( 似乎这是将数组排序为特定方式的方法,但我不知道它是如何工作的。你能给我一个提示吗?或者你将如何处理以使其更好?
谢谢
【问题讨论】:
-
你没有多维数组,但是原理是一样的。适应自己的情况应该不会太难。