вернуть переданные массива ключи и значения

Я работаю в WordPress. Я использую плагин, чтобы получить параметры администратора. Плагин принимает аргумент в качестве идентификатора, чтобы получить значение из базы данных следующим образом.

 $option = ot_get_option('email_address');

Выше приведенная строка кода вернется

 [email protected]

Я хочу написать вспомогательную функцию, которая бы получала несколько значений одновременно. Обычно я получаю такие варианты.

 $option_1 = ot_get_option('option1');
$option_2 = ot_get_option('option2');
$option_3 = ot_get_option('option3');

Я подумал, что мог бы быть лучший способ, который выглядел бы немного лучше. Я собрал эту маленькую функцию, которая работает

 function ritual_get_options($arg_list = array())
{

$options = array();
foreach( $arg_list as $key => $value){
$options[] = ot_get_option($value, array());
}
return $options;
}

используя функцию выше, теперь я могу передать идентификаторы опций, как так

 ritual_get_options('option1','option2','option3');

Моя проблема в том, что выше будет возвращать массив с числовыми ключами. 0,1,2. Вот точный массив, который возвращается, когда я делаю var_dump на переднем конце

   [0]=>
string(16) "100 Main Street,"[1]=>
string(18) "Hamilton, Ontario."[2]=>
string(15) "+1 800 999 9898"[3]=>
string(19) "[email protected]"

Я хочу вернуть ключи массива со значением, чтобы я мог легко определить, какое значение в каком ключе. Вот строка, которую я использовал, чтобы получить вышеуказанный массив

 $options = ritual_get_options(array('number' => 'streetnumber','street' => 'street','phone' => 'phone_number','email' => 'email'));

Когда я иду использовать возвращенные значения, я хочу иметь возможность использовать ключ, чтобы я мог сделать

 echo $options['number'];

вместо того, чтобы делать

 echo $options[0];

Я не смог выяснить, как вернуть ключи, переданные функции, и сохранить их при возврате.

0

Решение

Установите имя опции в качестве ключа при построении массива:

foreach( $arg_list as $option ){
$options[$option] = ot_get_option( $option );
}

Кстати, используя extract() на $options массив позволит вам использовать, например, $phone_number вместо $options['phone_number']

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]