从php数组中排除特定值

从php数组中排除特定值,php,Php,如果我想从代码中排除2个特定的字段ID,需要更改什么 // foreach field, print the option echo '<select name="sort" id="pref_sortby">'; if ($fields = $DB->get_records('data_fields', array('dataid'=>$data->id), 'name')) { echo '<optgroup label="'.get_string

如果我想从代码中排除2个特定的字段ID,需要更改什么

// foreach field, print the option
echo '<select name="sort" id="pref_sortby">';
if ($fields = $DB->get_records('data_fields', array('dataid'=>$data->id), 'name')) {
    echo '<optgroup label="'.get_string('fields', 'data').'">';
    foreach ($fields as $field) {
        if ($field->id == $sort) {
            echo '<option value="'.$field->id.'" selected="selected">'.$field->name.'</option>';
        } else {
            echo '<option value="'.$field->id.'">'.$field->name.'</option>';
        }
    }
    echo '</optgroup>';
}
使用数组_diff or!在数组中。。。
// foreach field, print the option
echo '<select name="sort" id="pref_sortby">';
if ($fields = $DB->get_records('data_fields', array('dataid'=>$data->id), 'name')) {
    echo '<optgroup label="'.get_string('fields', 'data').'">';
    foreach ($fields as $field) {
        // add this condition, replacing 50 and 60 with the IDs you want to exclude
        if (in_array($field->id, array(50, 60))) {
            continue;
        }
        if ($field->id == $sort) {
            echo '<option value="'.$field->id.'" selected="selected">'.$field->name.'</option>';
        } else {
            echo '<option value="'.$field->id.'">'.$field->name.'</option>';
        }
    }
    echo '</optgroup>';
}