返回传递的数组键和值

时间:2014-11-28 16:38:10

标签: php arrays wordpress return

我在WordPress工作。我正在使用插件来获取管理员选项。该插件将一个参数作为ID来从数据库中获取值,如此。

 $option = ot_get_option('email_address');

上面的代码行将返回

 myEmail@example.com

我想编写一个可以一次获得多个值的辅助函数。通常情况下,我会得到这样的选项。

 $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;
}

使用上面的函数,我现在可以传递像这样的选项的id

 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) "mail@yourdomain.com"

我想返回带有值的数组键,以便我可以很容易地找出什么值在什么键中。这是我用来获取上面数组的行

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

当我使用返回的值时,我希望能够使用密钥以便我可以

 echo $options['number'];

而不是

 echo $options[0];

我无法弄清楚如何返回传入函数的密钥并通过返回保存它们。

1 个答案:

答案 0 :(得分:0)

在构建数组时将选项名称设置为键:

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

顺便说一句,在$options数组上使用extract()即可使用例如$phone_number代替$options['phone_number']