cakephp中如何避免选择框的选项数组中的一个或多个元素


cakeHow to avoid one or more elements in option array of select box in cake php

在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]);
}