public static function create($value) { if (!is_array($value) || !Arrays::isAssoc($value)) { throw new \InvalidArgumentException('Map requires an associative array'); } return parent::create($value); }
/** * @param array $array * * @return $this * @throws \Exception */ public function addWordsByArray(array $array) { if (Arrays::isAssoc($array)) { foreach ($array as $word => $data) { $this->addWord($word, $data); } } else { foreach ($array as $word) { $this->addWord($word); } } return $this; }
/** * Check to see if an array is associative * * @param array $array * * @return bool * * @deprecated */ function is_assoc(array $array) { return \Packaged\Helpers\Arrays::isAssoc($array); }
public function testIsAssociativeArray() { $this->assertTrue(Arrays::isAssoc(["a" => "A", "b" => "B"])); $this->assertFalse(Arrays::isAssoc(["A", "B"])); }
public function renderSelect(FormElement $element) { $out = '<select'; $out .= $this->_renderAttributes($element); $out .= '>'; $values = $element->getOption('values', []); foreach ($values as $key => $val) { $disabled = false; if (is_array($val)) { if (Arrays::isAssoc($val)) { $disabled = isset($val['disabled']); if (isset($val['id'])) { $value = $val['id']; } else { if (isset($val['value'])) { $value = $val['value']; } else { $value = reset($val); } } if (isset($val['text'])) { $text = $val['text']; } else { if (isset($val['display'])) { $text = $val['display']; } else { $text = current($val); } } } else { $value = current($val); $text = next($val); } } else { $text = $val; $value = $key; } $out .= '<option value="' . $value . '"'; if (is_array($element->getValue())) { if (in_array((string) $value, $element->getValue())) { $out .= ' selected="selected"'; } } else { if ((string) $element->getValue() === (string) $value) { $out .= ' selected="selected"'; } } if ($disabled) { $out .= ' disabled'; } $out .= '>'; $out .= $text; $out .= '</option>'; } $out .= '</select>'; return $out; }