2016-05-21 37 views
1

我寫了一個小腳本從列表中刪除不需要的IP地址,但腳本仍然$ip_list顯示IP地址,但在條件if什麼也沒有發生對IP的選擇不正確執行腳本解決

$ip_list = array("37.13.","217.118.","207.46."); 
$top = $pdo->prepare('SELECT DISTINCT ip FROM logs ORDER BY ip DESC'); 
$top->execute(); 
while ($toppost = $top->fetch(PDO::FETCH_LAZY)){ 
    $array[] = $toppost->ip; 
} 



for ($i = 0; $i <= count($ip_list); $i++){ 
    for ($a = 0; $a <= count($array); $a++){ 
     $b = explode(".", $array[$a]); 
     $n = $b[0].".".$b[1]."."; 
      if ($ip_list[$i] == $n){   

      } 
      else{ 
       echo $n."<br/>"; 
      } 
    } 
} 
+0

你想做什麼? – JYoThI

+0

顯示$ array – JYoThI

+0

不需要的ip是什麼意思? – JYoThI

回答

0

這應該工作:

PHP

$ip_list = array("37.13.","217.118.","207.46."); 
$top = $pdo->prepare('SELECT DISTINCT ip FROM logs ORDER BY ip DESC'); 
$top->execute(); 
while ($toppost = $top->fetch(PDO::FETCH_LAZY)){ 
    $b = explode(".", $toppost->ip); 
    $formated_ip = $b[0].".".$b[1]."."; 
    if (in_array($formated_ip, $ip_list)) { 
     //IP From database in $ip_list array  
    } else { 
     echo $formated_ip . "<br/>"; 
    } 
} 
0

試試這個使用unset()

for ($a = 0; $a <= count($array); $a++) 
{ 


    $b = explode(".", $array[$a]); 

    $n = $b[0].".".$b[1]."."; 


     if (in_array($n,$ip_list)) 
     {   
       unset($array[$a]); 
     } 
     else 
     { 
      echo $n."<br/>"; 
     } 
    } 
+0

,並且您的第一個示例不能正確工作,但第二完美的作品 – emtecif