如果我有一个像
这样的数组[Yellow] => 1 [Red] => 2 [Blue] => 3
然后想在表格INPUT中用$ options进行下拉选择,是否可以使用颜色名称黄色/红色/蓝色而不是值1/2/3?
目前,下拉列表中有1,2,3作为选项而不是名称。该数组在别处使用,并且格式有原因。
答案 0 :(得分:1)
您可以使用array_flip
方法交换
$array = array('Yellow' => 1, 'Red' => 2, 'Blue' => 3);
$flippedArray = array_flip($array);
// => [1] => 'Yellow', [2] => 'Red', [3] => 'Blue'
然后使用flippedArray作为select元素中的选项,格式为helper
echo $this->Form->select('colours', $flippedArray);
或者您可以将颜色组合成选择元素的新数组
$combinedArray = array_combine(array_keys($array), array_keys($array));
//=> [Yellow] => 'Yellow', [Red] => 'Red', [Blue] => 'Blue'
echo $this->Form->select('colours', $combinedArray);
这样,如果需要,您可以使用从表单传回的值作为orignal数组的键