2011-05-17 66 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