在cake php中,如何避免选择框的选项数组中的一个或多个元素。
$options = array('One','Two','First','Second');
echo $this->Form->select('trial', $options);
这里我想避免数组中的"First"answers"Second",这里的选项数组来自DB。
$options = array('One','Two');
是否可以通过更改cake php的选择方法(即array $attributes
或其他任何方法)或手动搜索数组并删除值来实现?
使用array_slice()
:
echo $this->Form->select('trial', array_slice($options, 0, 2));
编辑:
如果您不知道数组的顺序,并且值是唯一的,则另一种解决方案是使用array_search()
:
unset($options[array_search('First', $options)]);
或者,如果这些值不是唯一的,并且您想将它们全部删除,那么array_keys()
可能很有用:
$keys = array_keys($options, 'First');
foreach ($keys as $key)
{
unset($options[$key]);
}