从 foreach 循环中排除值

Gar*_*ary 6 php foreach

我有以下代码..我知道这可能都是错的,但我以前没有处理过 foreach 循环。

$last_names = regapiGetLastNames( NULL, -1 );
foreach ($last_names as $name => $last_name_id)
    $exclude = array('11196','11195','11198','11197');
    if(!in_array($name->last_name_id, $exclude)):
    print '<option value="'.$last_name_id.'">'.$name.'</option>';
Run Code Online (Sandbox Code Playgroud)

显然它在某个地方出错了,有什么帮助吗?

mar*_*rio 4

如果 ID 是数组值,那么您还可以使用array_diff它们来过滤它们:

$last_names = regapiGetLastNames( NULL, -1 );

$exclude = array('11196','11195','11198','11197');
$last_names = array_diff($last_names, $exclude);

foreach ($last_names as $name => $last_name_id) {
    print '<option value="'.$last_name_id.'">'.$name.'</option>';
}
Run Code Online (Sandbox Code Playgroud)