我有一组这样的单件容量
$array1 = array("1 Go", "1 To", "2 To", "500 Go", "320 Go")当我整理它时,它会:
1 Go
1 To
2 To
320 Go
500 Go我想要的是:
1 Go
320 Go
500 Go
1 To
2 To我尝试使用natsort()函数,它提供与asort()相同的结果:
1 Go
1 To
2 To
320 Go
500 Go我怎样才能在PHP中做到这一点呢?
发布于 2015-03-09 11:45:28
$array1 = array("1 Go", "1 To", "2 To", "500 Go", "320 Go");
$go = $to = array();
foreach($array1 as $v){
if(strpos($v, 'Go') !== false){
$go[] = $v;
}elseif(strpos($v, 'To') !== false){
$to[] = $v;
}
}
sort($to);
sort($go);
$array1 = array_merge($go,$to);
print_r($array1);结果:
Array ( [0] => 1 Go [1] => 320 Go [2] => 500 Go [3] => 1 To [4] => 2 To ) 发布于 2015-03-09 12:00:50
试试他的:
$array1 = array("1 Go", "1 To", "2 To", "500 Go", "320 Go");
$toArray = array();
$goArray = array();
foreach ($array1 as $item)
{
if (strpos($item, "Go")) array_push($goArray, $item);
else array_push($toArray, $item);
}
asort($toArray);
asort($goArray);
array_merge($goArray, $toArray);https://stackoverflow.com/questions/28941063
复制相似问题