我想为每个值输出添加逗号,例如:A,B,C。另外我想忽略某个值而不输出它。
这是我的代码:
$result2 = ldap_search($ldapconn, "ou=group,dc=fake,dc=com", "memberuid=*$username*");
$entry1 = ldap_get_entries($ldapconn, $result2);
?>
</td>
<td>
<?php
$temp_array = array();
for ($i=0;$i<sizeof($entry1);$i++) {
if (isset($entry1[$i]['cn'][0])) {
if (strlen(trim($entry1[$i]['cn'][0]))!=0) {
array_push($temp_array, $entry1[$i]['cn'][0]);
}
}
}
$usergroup = implode(',', $temp_array);
$usergroups = explode(",", $usergroup);
foreach($usergroups as $x=>$x_value) {
switch ($x_value) {
case "management":
case "Team Leaders":
case "superuser":
$x_value = "";
break;
}
echo $x_value;
}
所以预期的结果应该是这样的,而不在切换情况下显示上述3个值,
用户A - IT,营销
如果用户A具有值,则忽略上述值。
答案 0 :(得分:0)
正如我在评论中提到的,如果你有一个数组,使用相同的分隔符进行内爆然后爆炸就完全没有了。在您的情况下,$usergroups
将与$temp_array
完全相同。
您可以大大简化代码:
// This is just an example using what I think your array contains
$temp_array = array('IT','management','superuser','Marketing');
// Write a list of words to ignore
$ignores = array("management", "Team Leaders", "superuser");
// Loop over your array and remove the entries that contain the ignored words
foreach ($temp_array as $key => $value) {
if (in_array($value, $ignores)) {
unset($temp_array[$key]);
}
}
echo implode(',', $temp_array); // outputs: IT,Marketing