Здравствуйте, у меня есть массив с датами (21.04.2014), (20.04.2014), (19.03.2015) и тд.. Можно их отсортировать чтоб вывелось так
(19.03.2015)
(21.04.2014)
(20.04.2014)
?
$arr = array(
'20.04.2014',
'19.03.2015',
'21.04.2014'
);
sort($arr);
echo '<pre>' . print_r($arr,1) . '</pre>';
<pre>Array
(
[0] => 19.03.2015
[1] => 20.04.2014
[2] => 21.04.2014
)
</pre>
$arr = array(
'19.03.2015',
'21.02.2014',
'20.04.2014'
);
$arr = array(
'20.01.2011',
'20.04.2014',
'19.03.2015',
'21.04.2014'
);
sort($arr);
echo '<pre>' . print_r($arr,1) . '</pre>';
Array
(
[0] => 19.03.2015
[1] => 20.01.2011
[2] => 20.04.2014
[3] => 21.04.2014
)
Цитата (AllesKlar @ 21.04.2015 - 23:00) |
Lenovo потому что это не даты, а хрень собачья в стрингах. Сначала преобразуй к дате, потом сортируй без проблем Callback. Либо в те же стринги, но ISO формат даты 'YYYY-MM-DD' и сортируй в лоб по-алфавиту, как сейчас. |
Цитата |
Замечание: Как и большинство функций сортировки в PHP, sort() использует реализацию алгоритма » быстрой сортировки. . |
$arr = array(
'20.01.2011',
'20.04.2014',
'19.03.2015',
'21.04.2014'
);
function cmp($a, $b)
{
$a = preg_replace('/^(\d{2})\.(\d{2}).(\d{4})$/', '$3$2$1', $a);
$b = preg_replace('/^(\d{2})\.(\d{2}).(\d{4})$/', '$3$2$1', $b);
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
usort($arr, "cmp");
print_r($arr);
function cmp($a, $b)
{
$a = strtotime($a);
$b = strtotime($b);
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
Цитата (Lenovo @ 21.04.2015 - 20:24) |
у меня есть массив с датами |
<h1>Фильм крутой (23.04.2015)</h1>
<p>text</p>
<?php
class Poster{
function titl($dir){
$b = glob("$dir{*txt}", GLOB_BRACE);
$file = fopen($b[0],"r"); //Text
$text = fread ($file,9000);
preg_match('|<h1>(.*)</h1>|', $text, $titl);
return $titl[1];
}
function posted(){
$a = glob('file/*/', GLOB_ONLYDIR); //Ищем все папки в каталоге
$kol = count($a); //Число записей в массиве
for($i=0; $i<$kol; $i++) {
$dir = $a[$i];
$b = glob("$dir{*.jpg,*.png,*gif,*JPG,*txt,*torrent,*inf}", GLOB_BRACE); //Выбираем нужные форматы файлов по типу
$img = $b[0]; //images
$file = fopen($b[1],"r"); //Text
$text = fread ($file,1000);
$url = HOST.$b[2]; //Url torrent
$papka = glob($dir, GLOB_ONLYDIR); //путь к файлам
$in = fopen($b[3],"r"); //Text inf
$inf = fread ($in,1000);
//$papka = str_replace("file/", "", $papka);
require './tpl/index.tpl';
}
}
function post($dir){
$b = glob("$dir{*.jpg,*.png,*gif,*JPG,*txt,*torrent,*inf}", GLOB_BRACE); //Выбираем нужные форматы файлов по типу
$img = $b[0]; //images
$file = fopen($b[1],"r"); //Text
$text = fread ($file,9000);
$url = HOST.$b[2]; //Url torrent
$in = fopen($b[3],"r"); //Text inf
$inf = fread ($in,1000);
require './tpl/post.tpl';
}
function translit($name){
$tr = array("А"=>"a","Б"=>"b","В"=>"v","Г"=>"g", "Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i", "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n", "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t", "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch", "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"", "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", " "=> "-", "."=> "", "/"=> "-");
$tr = strtr($name,$tr);
$tr = preg_replace('/[^A-Za-z0-9_\-]/', '', $tr);
$tr = strtolower($tr);
return $tr;
}
}
?>