/** * 2015-12-28 * @param string[] $filter [optional] * @param int|string|null|bool|StoreInterface $store [optional] * @return array(array(string => string)) */ function df_currencies_options(array $filter = [], $store = null) { return dfcf(function (array $filter = [], $store = null) { /** @var array(string => string) $all */ $all = df_currencies_ctn($store); return df_map_to_options(!$filter ? $all : dfa_select_ordered($all, $filter)); }, func_get_args()); }
/** * 2015-02-07 * Функция предназначена для работы только с ассоциативными массивами! * Фантастически лаконичное и красивое решение! * Вынес его в отдельную функцию, чтобы не забыть! * Например: $source = array( 'RU' => 'Россия', 'KZ' => 'Казахстан', 'TJ' => 'Таджикистан','US' => 'США','CA' => 'Канада' ); $priorityKeys = array('TJ', 'CA'); print_r(dfa_prepend_by_keys($source, $priorityKeys)); * Вернёт: Array ( [TJ] => Таджикистан [CA] => Канада [RU] => Россия [KZ] => Казахстан [US] => США ) * http://3v4l.org/QYffO * Обратите внимание, что @uses array_flip() корректно работает с пустыми массивами: print_r(array_flip(array())); * вернёт array() * http://3v4l.org/Kd01X * @uses dfa_prepend() * @used-by Df_Directory_Model_Resource_Country_Collection::toOptionArrayRm() * @param array(string => mixed) $source * @param string[] $priorityKeys * @return array(string => mixed) */ function dfa_prepend_by_keys(array $source, array $priorityKeys) { return dfa_prepend($source, dfa_select_ordered($source, $priorityKeys)); }
/** * 2016-08-07 * @used-by \Dfe\AllPay\Settings::methodsLabels() * @param string[]|null $keys [optional] * @return array(string => string) */ public function options($keys = null) { /** @var array(string => string) $options */ $options = $this->map(); return df_translate_a(is_null($keys) ? $options : dfa_select_ordered($options, $keys)); }
/** * 2016-08-08 * @used-by \Df\Payment\Charge::iia() * @used-by \Df\Payment\Method::iia() * @param II|OP|QP $payment * @param string|string[]|null $keys [optional] * @return mixed|array(string => mixed) */ function dfp_iia(II $payment, $keys = null) { /** @var mixed|array(string => mixed) $result */ if (is_null($keys)) { $result = $payment->getAdditionalInformation(); } else { if (!is_array($keys)) { $keys = df_tail(func_get_args()); } $result = 1 === count($keys) ? $payment->getAdditionalInformation(df_first($keys)) : dfa_select_ordered($payment->getAdditionalInformation(), $keys); } return $result; }
/** * 2016-05-21 * @param string[] ...$keys * @return mixed|array(string => mixed) */ protected function iia(...$keys) { return !$keys ? $this->ii()->getAdditionalInformation() : (1 === count($keys) ? $this->ii()->getAdditionalInformation(df_first($keys)) : dfa_select_ordered($this->ii()->getAdditionalInformation(), $keys)); }