模拟wordpress函数parse_args实现
wordpress函数wp_parse_args
主要是用来合并传入参数和数组默认值。例如默认值为
$defaults = array(
'current_page' => 0,
'total_count' => 0,
'before' => '',
'after' => '',
'page_url' => ''
);
当传入外部数组时
$args = array(
'current_page' => $page,
'total_count' => $total,
'page_url' => $page_url
)
此时,合并后的数组应该为
array(
'current_page' => $page,
'total_count' => $total,
'before' => '',
'after' => '',
'page_url' => $page_url
);
这有点类似于es6中的assign
,或者是jQuery中的$.extend()
。可以用如下的方式来实现上述功能。
function parse_args($args, $defaults = '') {
if (is_object($args))
$r = get_object_vars($args);
elseif (is_array($args))
$r =& $args;
else
$this->parse_str($args, $r);
if (is_array($defaults))
return array_merge($defaults, $r);
return $r;
}
function parse_str($string, &$array) {
parse_str($string, $array);
}
当然,传入查询字符串时,其也会将其解析为数组
total_count=1000¤t_page=5
数组
array( 'total_count' => 1000, 'current_page' => 5 )
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=735