2013-07-22 2 views
-1

В моем URL я передаю идентификаторы, как этот

localhost/?id=1,2,3,4,5,6,7,8,9 

мне было интересно, если есть лучший способ/простой способ проверки каждого идентификатора без использования цикла?

if (isset($_GET['id']) && !empty($_GET['id'])) 
    { 
     $str = explode(',', $_GET['id']); 

     for($ids = 0; $ids < sizeof($str); $ids++) 
     { 
      if (!ctype_digit($str[$ids])) 
      { 
       echo 'error'; 
       break; 
      } 

     } 
    } 
+4

появляется этот вопрос быть не по теме, потому что она просит для проверки кода и принадлежит на [HTTP: // codereview.stackexchange.com/](http://codereview.stackexchange.com/). – Quentin

ответ

2

Вы можете просто проверить строку с помощью простого регулярного выражения, например

if (preg_match('/^(\d+,)*\d+$/', $_GET['id']) == 0) { 
    throw new Exeption('error'); 
} 
+1

Возможно лучший способ. @ user2035819 должен добавить конечную запятую к своим URL-адресам, чтобы она была совместимой. – John