Nette\Forms\Controls\SelectBox::setItems PHP Method

setItems() public method

Sets options and option groups from which to choose.
public setItems ( array $items, $useKeys = TRUE ) : self
$items array
return self
    public function setItems(array $items, $useKeys = TRUE)
    {
        if (!$useKeys) {
            $res = [];
            foreach ($items as $key => $value) {
                unset($items[$key]);
                if (is_array($value)) {
                    foreach ($value as $val) {
                        $res[$key][(string) $val] = $val;
                    }
                } else {
                    $res[(string) $value] = $value;
                }
            }
            $items = $res;
        }
        $this->options = $items;
        return parent::setItems(Nette\Utils\Arrays::flatten($items, TRUE));
    }

Usage Example

 /**
  * We have to repeat that method in our class due to parent::$options property accesibility
  *  Otherwise we would be working with BaseControl::$options
  * @param array   $items   [description]
  * @param boolean $useKeys [description]
  */
 public function setItems(array $items, $useKeys = TRUE)
 {
     if (!$useKeys) {
         $res = array();
         foreach ($items as $key => $value) {
             unset($items[$key]);
             if (is_array($value)) {
                 foreach ($value as $val) {
                     $res[$key][(string) $val] = $val;
                 }
             } else {
                 $res[(string) $value] = $value;
             }
         }
         $items = $res;
     }
     $this->options = $items;
     return parent::setItems(Nette\Utils\Arrays::flatten($items, TRUE));
 }
All Usage Examples Of Nette\Forms\Controls\SelectBox::setItems