[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка и группировка массива
Страницы: 1, 2, 3
amf1k
Спасибо!
Немного переписал ваш код, вот что получилось(создал 2 функции), добавил 2-й массив с мультфильмами:

//Функция - узнаем цифру и её окончание (например) Найден(ы) 1 фильм(ы)
function iResult($i){
switch($i){
case 1:
$result = 'Найден '.$i.' кинокартина';
break;
case 2:
$result = 'Найдены '.$i.' кинокартины';
break;
case 3:
$result = 'Найдены '.$i.' кинокартины';
break;
case 4:
$result = 'Найдены '.$i.' кинокартины';
break;
case 5:
$result = 'Найдены '.$i.' кинокартин';
break;
}
return $result;
}
//Функция поиска на сайте
function searchPost($post,$movies,$animations){
//Если ввели название фильма или мультфильма
if(!empty($post)){
//Счетчик (количество найденных фильмов и мультфильмов)
$i = 0;
$result = null;
//Приводит строку POST к нижнему регистру
$post_title = mb_strtolower($post,'utf-8');
//Поиск фильма
foreach($movies as $array){
foreach($array as $value){
//Приводит строку $value['title'] к нижнему регистру, удаляем пробелы
$value_title = mb_strtolower(trim($value['title']),'utf-8');
//Если название введенного фильма совпадаем с фильмов в массиве
if($post_title == $value_title){
//Добавляем счетчик +1
$i ++;
//Записываем результат
$result = $result.'<span>'.$value['title'].'<a href="index.php?type=movies&year='.$value['year'].'">('.$value['year'].')</a></span><br/>';
}
}
}

//Поиск мультфильма
foreach($animations as $array){
foreach($array as $value){
//Приводит строку $value['title'] к нижнему регистру, удаляем пробелы
$value_title = mb_strtolower(trim($value['title']),'utf-8');
//Если название введенного фильма совпадаем с фильмов в массиве
if($post_title == $value_title){
//Добавляем счетчик +1
$i ++;
//Записываем результат
$result = $result.'<span>'.$value['title'].'<a href="index.php?type=animations&year='.$value['year'].'">('.$value['year'].')</a></span><br/>';
}
}
}

//Если фильмы или мультфильмы были найдены
if(!empty($result)){
//Выводим результат поиска
echo '<div class="search_result_title"><h5>'.iResult($i).':</h5>'.$result.'</div>';
}
//Вдруг ничего не найдено
else{
//Возвращаем false
return 'false';
}
}

//Если не ввели название фильма или мультфильма
else{
//Возвращаем null
return 'null';
}
}


Вывод на странице:

//Если не ввели название фильма или мультфильма
if($search == 'null'){
//Выводим сообщение
echo 'Введи название фильма или мультфильма!';
}
else{
//Вдруг ничего не найдено
if($search == 'false'){
//Выводим сообщение что нечего не найдено
echo 'Нет совпадений!';
}
else{
echo $search;
}
}


Теперь не пойму, почему во 2-й функции return 'false'; и return 'null'; возвращает только в форме строки, если возвратить return false и return null, то у меня на выводе неправильно срабатывает условие if($search == null), только в формате строки срабатывает корректно if($search == 'null'), в чем может быть моя ошибка ?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.