【问题标题】:return passed array keys and values返回传递的数组键和值
【发布时间】:2014-11-28 16:38:09
【问题描述】:

我正在使用 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];

我一直无法弄清楚如何将传入函数的键返回并通过返回保留它们。

【问题讨论】:

    标签: php arrays wordpress return


    【解决方案1】:

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

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

    顺便说一句,在 $options 数组上使用 extract() 将允许您使用例如$phone_number 而不是 $options['phone_number']

    【讨论】:

    • 我试过了,得到了相同的数组。它没有改变任何东西。 function ritual_get_options($arg_list = array()) { //$arg_list = func_get_args(); $options = array(); foreach( $arg_list as $option){ $options[$option] = ot_get_option($option, array()); } return $options; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    相关资源
    最近更新 更多