2011-05-17 84 views
0

我有這樣的代碼:IDS行等(54,88,15,78)ID的字符串連接:PHP in_array使用

$sql = "SELECT *, ids FROM....."; 
$results = $Database->Select($sql); 
$last = end($results); 
foreach($results as $i){ 
    $userArray = explode(",",$i['ids']); 
    if(in_array($_SESSION['AUTH_ID'], $userArray)){ 
     echo $i['name']; 
     if($last != $i) 
      echo ",\n"; 
    } 
} 

這版畫始終$i['name']後一個逗號......這是錯誤的..我怎麼能解決它?我如何計算in_array新值?

回答

7

還有就是要做到這一點更簡單的方法:

/* ... */ 
$logged_in[] = array(); 
if(in_array($_SESSION['AUTH_ID'], $userArray)){ 
    $logged_in[] = $i['name']; 
} 

echo implode(', ', $logged_in); 

這將打印愛麗絲,鮑勃

+3

使用'implode'取代'join'否則,是的。 (這是一個很少使用的'implode'的別名,代碼已經使用'explode'。) – chx 2011-05-17 08:57:45

+0

修復,謝謝。 ... – erenon 2011-05-17 09:01:05

+0

謝謝!! ..它的完美。 – Ste 2011-05-17 09:17:02