亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

詳解WordPress中用于合成數組的wp_parse_args()函數

2024-05-04 23:41:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了WordPress中用于合成數組的wp_parse_args()函數,轉換成數組通常是為了方便查詢,需要的朋友可以參考下
 

wp_parse_args() 函數是 WordPress 核心經常用到的函數,它的用途很多,但最主要用來給一個數組參數(args)綁定默認值。

因為 wp_parse_args() 函數返回的一定是一個數組,所以他會把傳入查詢字符串和對象(object)自動轉換成數組,給了使用者更加方便的條件,也增加了兼容性。

常見的 query_posts()、wp_list_comments() 和 get_terms() 函數都使用了 wp_parse_args() 函數來幫它給數組參數添加默認值。

用法

wp_parse_args( $args, $defaults );

參數

$args

(數組 | 字符串)(必須)查詢字符串、對象或者數組參數,用來綁定默認值。

默認值:None

查詢字符串:

type=post&posts_per_page=5&cat=1

數組:

array( 'type' => 'post', 'posts_per_page' => 5, 'cat' => '1' )

$defaults

(數組)(可選)數組參數的默認參數。

默認值:空字符串

例子

function explain_parse_args( $args = array() ){   //$args 的默認值  $defaults = array(    'before' => '<div class="box">',    'after' => '</div>',    'echo' => true,    'text' => 'wp_parse_args() 函數演示'  );   //綁定默認值  $r = wp_parse_args( $args, $defaults );   $output = $r['before'] . $r['text'] . $r['after'];  if( !$r['echo'] ) return $output;  echo $output;} //沒有參數explain_parse_args();//打印:<div class="box">wp_parse_args() 函數演示</div> //字符串參數$output = explain_parse_args( 'text=字符串參數&before=<div class="box-2">&echo=0' );echo $output;//打?。?lt;div class="box-2">字符串參數</div> //數組參數explain_parse_args( array( 'text' => '數組參數', 'before' => '<div class="box-3">' ) );//打?。?lt;div class="box-3">數組參數</div>還有另一種不使用第二個 $defaults 參數的用法,就是幫你把一個查詢字符串、對象或者數組的變量直接轉換成通用的數組,避免判斷類型。//字符串$array = wp_parse_args( 'text=測試另一種用法&type=字符串' );var_dump( $array );/*  array(2) {    ["text"]=>      string(21) "測試另一種用法"    ["type"]=>      string(9) "字符串"  }*/ //對象(object)class args_obj{   public $text = '測試另一種用法';   public $type = '對象(object)';   function func(){    //轉換成數組的時候對象里邊的函數會被忽略  } }$obj = new args_obj;var_dump( $obj );/*object(args_obj)#2175 (2) {  ["text"]=>    string(21) "測試另一種用法"  ["type"]=>    string(18) "對象(object)"}*/

wp_parse_args函數源代碼詳解
wp_parse_args 函數的源代碼比較簡單,
依附于PHP 內置函數get_object_vars、array_merge與WordPress的wp_parse_str函數來實現,
以下是該函數的源代碼:

/** * Merge user defined arguments into defaults array. * * This function is used throughout WordPress to allow for both string or array * to be merged into another array. * * @since 2.2.0 * *第一個參數可以是 字符串、數組或對象(obj) * @param string|array $args Value to merge with $defaults *第二個參數為默認的預設值數組,必須是數組 * @param array $defaults Array that serves as the defaults. *返回值將是一個數組 * @return array Merged user defined values with defaults. */function wp_parse_args( $args, $defaults = '' ) { if ( is_object( $args ) ) //將接收的對象(obj)轉換為數組 $r = get_object_vars( $args ); elseif ( is_array( $args ) ) //如果是數組則不轉換 $r =& $args; else //將接收的字符串轉換為數組 wp_parse_str( $args, $r ); if ( is_array( $defaults ) ) return array_merge( $defaults, $r ); return $r;}

其中get_object_vars函數是用來返回由對象屬性組成的關聯數組。
array_merge函數用是將兩個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面。返回作為結果的數組。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人巨大xxx极品| 亚洲国产欧美一区二区三区同亚洲| 久久精品国产清自在天天线| 日韩中文理论片| 日韩在线视频国产| 欧美激情亚洲一区| 欧美孕妇性xx| 欧美xxxx综合视频| 国产欧美精品在线| 久久午夜a级毛片| 亚洲国产精品成人精品| 91在线观看免费高清| 日韩免费在线观看视频| 国产精品一区二区久久| 久久视频在线视频| 国产精品一二区| 国产精品ⅴa在线观看h| 不卡av在线播放| 久久久亚洲国产天美传媒修理工| 国产一区二区三区视频免费| 日韩欧美黄色动漫| 欧美日韩国产中文字幕| 成人国产精品一区| 国产精品丝袜一区二区三区| 国产在线视频一区| 久久亚洲精品国产亚洲老地址| 久久精品电影一区二区| 国产91久久婷婷一区二区| 色妞在线综合亚洲欧美| 欧美专区在线播放| 91午夜在线播放| 国产噜噜噜噜噜久久久久久久久| 欧美激情亚洲综合一区| 亚洲第一精品夜夜躁人人躁| 国产91精品视频在线观看| 成人深夜直播免费观看| 欧美日韩免费区域视频在线观看| 亚洲性线免费观看视频成熟| 清纯唯美亚洲激情| 欧美成人久久久| 国产精品久久久av久久久| 欧美精品制服第一页| 欧美日本在线视频中文字字幕| 欧美精品18videos性欧美| 午夜欧美不卡精品aaaaa| www.亚洲男人天堂| 色偷偷av一区二区三区乱| 久久躁日日躁aaaaxxxx| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美老女人性生活| 日韩在线激情视频| 国产精品一区二区三区久久| 狠狠综合久久av一区二区小说| 国产99久久精品一区二区| 欧美激情精品久久久久久免费印度| 亚洲欧美中文字幕在线一区| 欧美黑人性猛交| 欧美成人一区在线| 国产亚洲精品久久久久久牛牛| 九九综合九九综合| 国内精品久久久久影院优| 5566日本婷婷色中文字幕97| 欧美体内谢she精2性欧美| 日韩高清免费在线| 中文字幕亚洲欧美日韩2019| 国产69久久精品成人| 亚洲女人天堂网| 亚洲白虎美女被爆操| 色99之美女主播在线视频| 久久国产精品久久国产精品| 欧美电影在线观看| 亚洲3p在线观看| 91视频九色网站| 在线一区二区日韩| 欧洲精品在线视频| 欧美电影免费观看网站| 日韩午夜在线视频| 日韩视频―中文字幕| 久久99国产综合精品女同| 亚洲综合大片69999| 亚洲精品国产精品久久清纯直播| 欧美一级片在线播放| 亚洲精品日韩久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲成人av在线| 91视频国产高清| 久久久成人精品视频| 国产日韩换脸av一区在线观看| 日韩美女视频在线观看| 久久国产加勒比精品无码| 国产69精品99久久久久久宅男| 黑人巨大精品欧美一区二区三区| 这里只有精品视频| 96sao精品视频在线观看| 最新国产成人av网站网址麻豆| 91精品国产成人www| 国产一区二区日韩| 色爱av美腿丝袜综合粉嫩av| 亚洲图片在线综合| 这里只有视频精品| 国产亚洲精品va在线观看| 欧美有码在线观看视频| 日韩欧美国产中文字幕| 欧美福利视频在线| 久久久久久久激情视频| 国产成人精品电影| 日韩成人在线观看| 一区二区福利视频| 久久综合88中文色鬼| 尤物九九久久国产精品的特点| 97超碰色婷婷| 欧美激情一级二级| 久久精品视频va| 精品无人国产偷自产在线| 日韩av片免费在线观看| 日韩免费av一区二区| 色综合男人天堂| 亚洲成人精品在线| 国产精品福利久久久| 久久影院中文字幕| 亚洲国产高潮在线观看| 日韩电影网在线| 欧美视频13p| 久久久久久97| 亚洲免费电影在线观看| 国内精品视频久久| 日韩av片永久免费网站| 黄色一区二区在线| 亚洲精品日韩激情在线电影| 亚洲国产精品嫩草影院久久| 国产精品久久电影观看| 日本91av在线播放| 日韩精品中文字幕在线播放| 精品女厕一区二区三区| 国产精品视频精品视频| 欧美视频在线免费| 国产日韩欧美在线| 国产一区二区在线播放| 中文字幕日韩欧美| 久久久人成影片一区二区三区| 久久国产精品99国产精| 日韩精品视频免费在线观看| 色悠悠久久久久| 国产午夜精品视频| y97精品国产97久久久久久| 国产日韩在线一区| 在线日韩第一页| 欧美中文在线观看国产| 成人精品一区二区三区电影免费| 成人性生交大片免费看小说| 97精品国产97久久久久久春色| 米奇精品一区二区三区在线观看| 91亚洲精品在线观看| 久久视频在线免费观看| 91理论片午午论夜理片久久| 最新国产精品拍自在线播放| 91国产在线精品| 色综合视频网站| 国产精品一区二区av影院萌芽| 久久在精品线影院精品国产| 在线观看久久久久久| 中文字幕亚洲综合久久筱田步美| 欧美激情视频网址| 亚洲精品国产精品乱码不99按摩|