$name = glob('*.{php}', GLOB_BRACE);
for($i=0; $i<=(sizeof($name)-1); $i++) {
if( substr($name[$i],0,1) != "_") {
$shortname = substr($name[$i], 0, -4); //ac_schnitzer_acl2_concept_2016 ...
$bezyear = substr($shortname, 0, -4); // ac_schnitzer_acl2_concept_ ...
$rest = substr($shortname, -4); // 2016...
$nazv = $rest."_".$bezyear; // 2016_ac_schnitzer_acl2_concept_...
natsort($nazv);
$namenew = str_replace('_', ' ', $nazv);
$namenew = ucwords($namenew);
echo "<tr>
<td><a target=_blank href='".$name[$i]."'><img src='./img/_share/".$shortname."_1.jpg' width='172px'></a><br/></td>
<td><a target=_blank href='".$name[$i]."'><center>".$namenew."</center></a><br/></td>
</tr>";
}
}
脚本按如下方式打印列表:
2017 Audi Q3
2016 Audi Q7
2017 Audi Q7 E Tron 2 Tfsi Quattro
2015 Audi R18 E-tron Quattro Racecar
2014 Audi R18 E Tron Quattro Lmp1 Racecar
2016 Audi R18 Racecar
2015 Audi R8 Competition
2016 Audi R8 Coupe V10 Plus Selection 24h
2016 Audi R8 E Tron
如何按年分类:
2017年奥迪Q3
2017年奥迪Q7 E Tron 2 Tfsi Quattro
2016年奥迪Q7
2016年奥迪R18 Racecar
2016年奥迪R8 Coupe V10 Plus选择24小时
2016年奥迪R8 E Tron
2015年奥迪R18 E-tron Quattro Racecar
2015年奥迪R8比赛
2014年奥迪R18 E Tron Quattro Lmp1赛车
使用natsort($ nazv); - 不起作用......
答案 0 :(得分:1)
你可以更轻松地尝试使用一个功能
function my_sort($a,$b)
{
preg_match('/\d{4}/',$a,$a1);
preg_match('/\d{4}/',$b,$b1);
if ($a1==$b1) return 0;
return ($a1>$b1)?-1:1;
}
$names=array("ac_schnitzer_acl2_concept_2016.php", "acura_cdx_2017.php", "acura_ilx_endurance_racer_2013.php", "acura_mdx_2017.php", "acura_nsx_2016.php", "acura_nsx_2017.php", "acura_nsx__2016.php");
usort($names,"my_sort");
print_r($names);
答案 1 :(得分:0)
您可以将所有汽车放在关联数组中(在当前循环中),然后根据年份使用usort(循环外部)对其进行排序,然后显示html(在新循环中)。这样的事情:
...
$cars = [];
for($i=0; $i<=(sizeof($name)-1); $i++) {
...
$cars[] = [
'year' => $bezyear,
'name' => $name[$i],
'namenew' => $namenew,
'shortname' => $shortname,
];
}
usort($cars, function($car1, $car2) {
return $car1['year'] - $car2['year'];
});
foreach ($cars as $car) {
echo "<tr>
<td><a target=_blank href='".$car['name']."'><img src='./img/_share/".$car['shortname']."_1.jpg' width='172px'></a><br/></td>
<td><a target=_blank href='".$car['name']."'><center>".$car['namenew']."</center></a><br/></td>
</tr>";
}