[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемы с выводом результата функции
Shkiper
Всем привет. Есть вот такой быдло код:
public static function page()
{
if(isset($_GET['route']))
{
$route = $_GET['route'];
$pages = Zzika::config("pages", "page");
foreach($pages as $k=>$v)
{
if(preg_match($k, $route))
{
$page = $v;
}
}



if(empty($page))
{
Error::print_404($page);
}

}

else
{
$page = Zzika::config("default_page");
}

return $page;
}


$_GET['route'] = "news/test.html";
$pages = содержит массив. Вот его ДАМП:
Array
(
[#^page/[0-9]+$#ui] => main
[#^category/[0-9a-z_]+$#ui] => category
[#^category/[0-9a-z_]/page/[0-9]+$#ui] => category
[#^news/[0-9a-z_].html+$#ui] => news
[#^activate/[a-z0-9]+$#ui] => activate
)

Вроде все. По идее эта функция должна вернуть мне "news". А у нее срабатывает вот это: Error::print_404($page); причем пишет, что $page не существует(интерпретатор ошибка выдает). Почему этот код не работает?
Winston
Во первых в шаблоне регулярки ты поставил "+" не там где надо


 ! 

М
Во вторых дай теме вменяемой название, иначе я дам тебе 4-е предупреждение и отправлю в бан!
Winston

И в третьих нужно . заменить на \.
Shkiper
Эхххх, жаль что вы такие прихотливые к темам wink.gif
Игорь_Vasinsky
Цитата
    if(empty($page))
      {
          Error::print_404($page);
      }
   


кто сказал не существует? существует, но пуста.

...
плюсы там вообще для чего?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Winston
Цитата (Shkiper @ 18.12.2012 - 09:26)
if(preg_match($k, $route))
        {
          $page = $v;
        }

Можно заменить на
if(preg_match($k, $route))
{
$page = $v;
break;
}

Т.к. если совпадение найдено, нету смысла цикл гонять.
Цитата (Игорь_Vasinsky @ 18.12.2012 - 09:33)
существует, но пуста

А если совпадения не будет? То откуда ей взяться?
Игорь_Vasinsky
empty === !isset ???

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Shkiper
empty = проверяет на пустоту, isset = на существование. но если переменная = 0, то empty покажет что она пуста wink.gif
Быстрый ответ:

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