精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

那些未曾了解的PHP函數和功能

開發 后端 前端
PHP真正的強大便是它的函數,文章將介紹一些實用的PHP函數和它的功能,這些函數并沒有得到我們充分的利用,但它們的功能是非常強大的。

PHP的真正威力源自于它的函數,但有些PHP函數并沒有得到充分的利用,也并不是所有人都會從頭到尾一頁一頁地閱讀手冊和函數參考,這里將向您介紹這些實用的函數和功能。

51CTO推薦專題: PHP開發基礎入門

1、任意參數數目的函數

你可能已經知道,PHP允許定義可選參數的函數。但也有完全允許任意數目的函數參數的方法。以下是可選參數的例子:

  1. 以下為引用的內容:  
  2.  
  3. //functionwith2optionalarguments  
  4. functionfoo($arg1=”,$arg2=”){  
  5.  
  6. echo“arg1:$arg1\n”;  
  7. echo“arg2:$arg2\n”;  
  8.  
  9. }  
  10.  
  11. foo(‘hello’,'world’);  
  12. /*prints:  
  13. arg1:hello  
  14. arg2:world  
  15. */  
  16.  
  17. foo();  
  18. /*prints:  
  19. arg1:  
  20. arg2:  
  21. */ 

現在讓我們看看如何建立能夠接受任何參數數目的函數。這一次需要使用func_get_args()函數:

  1. 以下為引用的內容:  
  2.  
  3. //yes,theargumentlistcanbeempty  
  4. functionfoo(){  
  5.  
  6. //returnsanarrayofallpassedarguments  
  7. $args=func_get_args();  
  8.  
  9. foreach($argsas$k=>$v){  
  10. echo“arg”.($k+1).”:$v\n”;  
  11. }  
  12.  
  13. }  
  14.  
  15. foo();  
  16. /*printsnothing*/  
  17.  
  18. foo(‘hello’);  
  19. /*prints  
  20. arg1:hello  
  21. */  
  22.  
  23. foo(‘hello’,‘world’,‘again’);  
  24. /*prints  
  25. arg1:hello  
  26. arg2:world  
  27. arg3:again  
  28. */ 

#p#

2、使用Glob()查找文件

許多PHP函數具有長描述性的名稱。然而可能會很難說出glob()函數能做的事情,除非你已經通過多次使用并熟悉了它。可以把它看作是比scandir()函數更強大的版本,可以按照某種模式搜索文件。

  1. 以下為引用的內容:  
  2.  
  3. //getallphpfiles  
  4. $files=glob(‘*.php’);  
  5.  
  6. print_r($files);  
  7. /*outputlookslike:  
  8. Array  
  9. (  
  10. [0]=>phptest.php  
  11. [1]=>pi.php  
  12. [2]=>post_output.php  
  13. [3]=>test.php  
  14. )  
  15. */ 

你可以像這樣獲得多個文件:

  1. 以下為引用的內容:  
  2.  
  3. //getallphpfilesANDtxtfiles  
  4. $files=glob(‘*.{php,txt}’,GLOB_BRACE);  
  5.  
  6. print_r($files);  
  7. /*outputlookslike:  
  8. Array  
  9. (  
  10. [0]=>phptest.php  
  11. [1]=>pi.php  
  12. [2]=>post_output.php  
  13. [3]=>test.php  
  14. [4]=>log.txt  
  15. [5]=>test.txt  
  16. )  
  17. */ 

請注意,這些文件其實是可以返回一個路徑,這取決于查詢條件:

  1. 以下為引用的內容:  
  2.  
  3. $files=glob(‘../images/a*.jpg’);  
  4.  
  5. print_r($files);  
  6. /*outputlookslike:  
  7. Array  
  8. (  
  9. [0]=>../images/apple.jpg  
  10. [1]=>../images/art.jpg  
  11. )  
  12. */ 

如果你想獲得每個文件的完整路徑,你可以調用realpath()函數:

  1. 以下為引用的內容:  
  2.  
  3. $files=glob(‘../images/a*.jpg’);  
  4.  
  5. //appliesthefunctiontoeacharrayelement  
  6. $files=array_map(‘realpath’,$files);  
  7.  
  8. print_r($files);  
  9. /*outputlookslike:  
  10. Array  
  11. (  
  12. [0]=>C:\wamp\www\images\apple.jpg  
  13. [1]=>C:\wamp\www\images\art.jpg  
  14. )  
  15. */ 

 #p#

3、內存使用信息

通過偵測腳本的內存使用情況,有利于代碼的優化。PHP提供了一個垃圾收集器和一個非常復雜的內存管理器。腳本執行時所使用的內存量,有升有跌。為了得到當前的內存使用情況,我們可以使用memory_get_usage()函數。如果需要獲得任意時間點的***內存使用量,則可以使用memory_limit()函數。

  1. 以下為引用的內容:  
  2.  
  3. echo“Initial:“.memory_get_usage().”bytes\n”;  
  4. /*prints  
  5. Initial:361400bytes  
  6. */  
  7.  
  8. //let’suseupsomememory  
  9. for($i=0;$i<100000;$i++){  
  10. $array[]=md5($i);  
  11. }  
  12.  
  13. //let'sremovehalfofthearray  
  14. for($i=0;$i<100000;$i++){  
  15. unset($array[$i]);  
  16. }  
  17.  
  18. echo"Final:".memory_get_usage()."bytes\n";  
  19. /*prints  
  20. Final:885912bytes  
  21. */  
  22.  
  23. echo"Peak:".memory_get_peak_usage()."bytes\n";  
  24. /*prints  
  25. Peak:13687072bytes  
  26. */ 

4、CPU使用信息

為此,我們要利用getrusage()函數。請記住這個函數不適用于Windows平臺。

  1. 以下為引用的內容:  
  2.  
  3. print_r(getrusage());  
  4. /*prints  
  5. Array  
  6. (  
  7. [ru_oublock]=>0  
  8. [ru_inblock]=>0  
  9. [ru_msgsnd]=>2  
  10. [ru_msgrcv]=>3  
  11. [ru_maxrss]=>12692  
  12. [ru_ixrss]=>764  
  13. [ru_idrss]=>3864  
  14. [ru_minflt]=>94  
  15. [ru_majflt]=>0  
  16. [ru_nsignals]=>1  
  17. [ru_nvcsw]=>67  
  18. [ru_nivcsw]=>4  
  19. [ru_nswap]=>0  
  20. [ru_utime.tv_usec]=>0  
  21. [ru_utime.tv_sec]=>0  
  22. [ru_stime.tv_usec]=>6269  
  23. [ru_stime.tv_sec]=>0  

這可能看起來有點神秘,除非你已經有系統管理員權限。以下是每個值的具體說明(你不需要記住這些):

  1. 以下為引用的內容:  
  2.  
  3. ru_oublock:blockoutputoperations  
  4. ru_inblock:blockinputoperations  
  5. ru_msgsnd:messagessent  
  6. ru_msgrcv:messagesreceived  
  7. ru_maxrss:maximumresidentsetsize  
  8. ru_ixrss:integralsharedmemorysize  
  9. ru_idrss:integralunshareddatasize  
  10. ru_minflt:pagereclaims  
  11. ru_majflt:pagefaults  
  12. ru_nsignals:signalsreceived  
  13. ru_nvcsw:voluntarycontextswitches  
  14. ru_nivcsw:involuntarycontextswitches  
  15. ru_nswap:swaps  
  16. ru_utime.tv_usec:usertimeused(microseconds)  
  17. ru_utime.tv_sec:usertimeused(seconds)  
  18. ru_stime.tv_usec:systemtimeused(microseconds)  
  19. ru_stime.tv_sec:systemtimeused(seconds) 

 

要知道腳本消耗多少CPU功率,我們需要看看‘usertime’和’systemtime’兩個參數的值。秒和微秒部分默認是單獨提供的。你可以除以100萬微秒,并加上秒的參數值,得到一個十進制的總秒數。讓我們來看一個例子:

  1. 以下為引用的內容:  
  2.  
  3. //sleepfor3seconds(non-busy)  
  4. sleep(3);  
  5.  
  6. $data=getrusage();  
  7. echo“Usertime:“.  
  8. ($data['ru_utime.tv_sec']+  
  9. $data['ru_utime.tv_usec']/1000000);  
  10. echo“Systemtime:“.  
  11. ($data['ru_stime.tv_sec']+  
  12. $data['ru_stime.tv_usec']/1000000);  
  13.  
  14. /*prints  
  15. Usertime:0.011552  
  16. Systemtime:0  
  17. */ 

盡管腳本運行用了大約3秒鐘,CPU使用率卻非常非常低。因為在睡眠運行的過程中,該腳本實際上不消耗CPU資源。還有許多其他的任務,可能需要一段時間,但不占用類似等待磁盤操作等CPU時間。因此正如你所看到的,CPU使用率和運行時間的實際長度并不總是相同的。下面是一個例子:

  1. 以下為引用的內容:  
  2.  
  3. //loop10milliontimes(busy)  
  4. for($i=0;$i<10000000;$i++){  
  5.  
  6. }  
  7.  
  8. $data=getrusage();  
  9. echo"Usertime:".  
  10. ($data['ru_utime.tv_sec']+  
  11. $data['ru_utime.tv_usec']/1000000);  
  12. echo"Systemtime:".  
  13. ($data['ru_stime.tv_sec']+  
  14. $data['ru_stime.tv_usec']/1000000);  
  15.  
  16. /*prints  
  17. Usertime:1.424592  
  18. Systemtime:0.004204  
  19. */ 

 

這花了大約1.4秒的CPU時間,但幾乎都是用戶時間,因為沒有系統調用。系統時間是指花費在執行程序的系統調用時的CPU開銷。下面是一個例子:

  1. 以下為引用的內容:  
  2.  
  3. $start=microtime(true);  
  4. //keepcallingmicrotimeforabout3seconds  
  5. while(microtime(true)-$start<3){  
  6.  
  7. }  
  8.  
  9. $data=getrusage();  
  10. echo"Usertime:".  
  11. ($data['ru_utime.tv_sec']+  
  12. $data['ru_utime.tv_usec']/1000000);  
  13. echo"Systemtime:".  
  14. ($data['ru_stime.tv_sec']+  
  15. $data['ru_stime.tv_usec']/1000000);  
  16.  
  17. /*prints  
  18. Usertime:1.088171  
  19. Systemtime:1.675315  
  20. */ 

現在我們有相當多的系統時間占用。這是因為腳本多次調用microtime()函數,該函數需要向操作系統發出請求,以獲取所需時間。你也可能會注意到運行時間加起來不到3秒。這是因為有可能在服務器上同時存在其他進程,并且腳本沒有100%使用CPU的整個3秒持續時間。

 #p#

5、魔術常量

PHP提供了獲取當前行號(__LINE__)、文件路徑(__FILE__)、目錄路徑(__DIR__)、函數名(__FUNCTION__)、類名(__CLASS__)、方法名(__METHOD__)和命名空間(__NAMESPACE__)等有用的魔術常量。在這篇文章中不作一一介紹,但是我將告訴你一些用例。當包含其他腳本文件時,使用__FILE__常量(或者使用PHP5.3新具有的__DIR__常量):

  1. 以下為引用的內容:  
  2.  
  3. //thisisrelativetotheloadedscript'spath  
  4. //itmaycauseproblemswhenrunningscriptsfromdifferentdirectories  
  5. require_once('config/database.php');  
  6.  
  7. //thisisalwaysrelativetothisfile'spath  
  8. //nomatterwhereitwasincludedfrom  
  9. require_once(dirname(__FILE__).'/config/database.php'); 

 

使用__LINE__使得調試更為輕松。你可以跟蹤到具體行號。

  1. 以下為引用的內容:  
  2.  
  3. //somecode  
  4. //...  
  5. my_debug("somedebugmessage",__LINE__);  
  6. /*prints  
  7. Line4:somedebugmessage  
  8. */  
  9.  
  10. //somemorecode  
  11. //...  
  12. my_debug("anotherdebugmessage",__LINE__);  
  13. /*prints  
  14. Line11:anotherdebugmessage  
  15. */  
  16.  
  17. functionmy_debug($msg,$line){  
  18. echo"Line$line:$msg 

6、生成唯一標識符

某些場景下,可能需要生成一個唯一的字符串。我看到很多人使用md5()函數,即使它并不完全意味著這個目的:

  1. 以下為引用的內容:  
  2.  
  3. //generateuniquestring  
  4. echomd5(time().mt_rand(1,1000000));  
  5. ThereisactuallyaPHPfunctionnameduniqid()thatismeanttobeusedforthis.  
  6.  
  7. //generateuniquestring  
  8. echouniqid();  
  9. /*prints  
  10. 4bd67c947233e  
  11. */  
  12.  
  13. //generateanotheruniquestring  
  14. echouniqid();  
  15. /*prints  
  16. 4bd67c9472340  
  17. */ 

你可能會注意到,盡管字符串是唯一的,前幾個字符卻是類似的,這是因為生成的字符串與服務器時間相關。但實際上也存在友好的一方面,由于每個新生成的ID會按字母順序排列,這樣排序就變得很簡單。為了減少重復的概率,你可以傳遞一個前綴,或第二個參數來增加熵。

  1. 以下為引用的內容:  
  2.  
  3. //withprefix  
  4. echouniqid('foo_');  
  5. /*prints  
  6. foo_4bd67d6cd8b8f  
  7. */  
  8.  
  9. //withmoreentropy  
  10. echouniqid('',true);  
  11. /*prints  
  12. 4bd67d6cd8b926.12135106  
  13. */  
  14.  
  15. //both  
  16. echouniqid('bar_',true);  
  17. /*prints  
  18. bar_4bd67da367b650.43684647  
  19. */ 

這個函數將產生比md5()更短的字符串,能節省一些空間。

7、序列化

你有沒有遇到過需要在數據庫或文本文件存儲一個復雜變量的情況?你可能沒能想出一個格式化字符串并轉換成數組或對象的好方法,PHP已經為你準備好此功能。有兩種序列化變量的流行方法。下面是一個例子,使用serialize()和unserialize()函數。以下為引用的內容:

  1. //acomplexarray  
  2. $myvar=array(  
  3. 'hello',  
  4. 42,  
  5. array(1,'two'),  
  6. 'apple'  
  7. );  
  8.  
  9. //converttoastring  
  10. $string=serialize($myvar);  
  11.  
  12. echo$string;  
  13. /*prints  
  14. a:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}  
  15. */  
  16.  
  17. //youcanreproducetheoriginalvariable  
  18. $newvar=unserialize($string);  
  19.  
  20. print_r($newvar);  
  21. /*prints  
  22. Array  
  23. (  
  24. [0]=>hello  
  25. [1]=>42  
  26. [2]=>Array  
  27. (  
  28. [0]=>1  
  29. [1]=>two  
  30. )  
  31.  
  32. [3]=>apple  
  33. )  
  34. */ 

這是原生的PHP序列化方法。然而,由于JSON近年來大受歡迎,PHP5.2中已經加入了對JSON格式的支持。現在你可以使用json_encode()和json_decode()函數,以下為引用的內容:

  1. //acomplexarray  
  2. $myvar=array(  
  3. ‘hello’,  
  4. 42,  
  5. array(1,’two’),  
  6. ‘apple’  
  7. );  
  8.  
  9. //converttoastring  
  10. $string=json_encode($myvar);  
  11.  
  12. echo$string;  
  13. /*prints  
  14. ["hello",42,[1,"two"],”apple”]  
  15. */  
  16.  
  17. //youcanreproducetheoriginalvariable  
  18. $newvar=json_decode($string);  
  19.  
  20. print_r($newvar);  
  21. /*prints  
  22. Array  
  23. (  
  24. [0]=>hello  
  25. [1]=>42  
  26. [2]=>Array  
  27. (  
  28. [0]=>1  
  29. [1]=>two  
  30. )  
  31.  
  32. [3]=>apple  
  33. )  
  34. */ 

這將更為行之有效,尤其與JavaScript等許多其他語言兼容。然而對于復雜的對象,某些信息可能會丟失。

文章轉自PHP之家,

原文地址:http://www.phpzj.org/php_0002.html

【編輯推薦】

  1. PHP開發者不可不知的五件事
  2. PHP開發人員容易忽略的幾點精華
  3. FirePHP:像Firebug那樣調試你的PHP代碼
  4. PHP應用JSON技巧講解
  5. 解讀PHP冒泡排序技巧

 

責任編輯:王曉東 來源: PHP之家
相關推薦

2013-10-21 17:57:54

2009-11-30 14:27:42

2009-12-01 15:14:32

PHP Substr庫

2009-11-25 14:06:53

PHP函數arsort

2014-08-26 09:52:57

2009-12-03 15:23:48

PHP建立和關閉數據庫

2023-06-27 17:02:05

PHP功能

2015-04-13 15:41:53

SAPF1

2010-07-27 11:29:43

Flex

2009-11-30 15:10:46

PHP substr函

2019-07-02 11:01:35

SpringBean配置

2009-11-25 17:48:18

PHP文件系統相關函數

2009-11-26 13:50:11

PHP函數str_re

2015-03-20 13:20:11

PHP框架全方面了解PHP

2009-11-30 17:49:51

PHP函數preg_s

2009-12-04 09:50:59

PHP ob_star

2010-09-02 15:45:18

PHP函數echo

2009-12-03 15:40:41

PHP獲取數據庫表信息

2023-10-06 00:04:02

2009-11-26 14:38:08

PHP函數echo()
點贊
收藏

51CTO技術棧公眾號

91精品国产综合久久久久久久久久| 97精品久久久久中文字幕| 中文字幕日韩在线视频| 欧美一级免费在线| 国产中文在线播放| 国产精品视频一二| 国产精品初高中精品久久| 亚洲国产av一区二区三区| 亚洲精品一区二区妖精| 日韩精品在线免费| 午夜影院免费版| 自由日本语热亚洲人| 亚洲男女一区二区三区| 国产一区二区三区无遮挡| 亚洲在线观看av| 99av国产精品欲麻豆| 日韩中文字幕视频在线观看| 黑丝av在线播放| 免费精品一区| 欧美在线观看18| 国产黄页在线观看| 婷婷在线播放| 国产精品久久久久久久久免费相片| 国产精品推荐精品| 亚洲一区二区视频在线播放| 国产日韩欧美三区| 欧美高跟鞋交xxxxxhd| 男女男精品视频网站| 任你躁在线精品免费| 欧美一区二区三区视频免费 | 欧美日韩性生活| 久久精品视频16| 视频在线观看入口黄最新永久免费国产 | 9.1成人看片免费版| 中文字幕日韩在线| 91精品国产美女浴室洗澡无遮挡| 五月婷婷丁香综合网| videos性欧美另类高清| 黄色91在线观看| 亚洲熟妇无码一区二区三区导航| 中文字幕在线观看网站| 国产精品另类一区| 亚洲最新在线| 中文字幕日本在线| 欧美国产激情一区二区三区蜜月| 欧美黑人xxxxx| 免费理论片在线观看播放老| 91最新地址在线播放| 国产亚洲第一区| 亚洲精品第五页| 国产河南妇女毛片精品久久久 | 亚洲欧美激情插 | 亚洲av熟女国产一区二区性色| 日本在线中文字幕一区| 日韩成人在线视频| 中国av免费看| 亚洲精品蜜桃乱晃| 一本色道久久综合亚洲精品小说 | 国产精品91久久久久久| 国产精品自拍99| 国产精品婷婷| 国产精品扒开腿做爽爽爽视频| 日韩国产成人在线| 日本亚洲视频在线| 国产精自产拍久久久久久| 中文字幕人妻色偷偷久久| 日本亚洲免费观看| 国产综合色香蕉精品| 99产精品成人啪免费网站| 国产在线麻豆精品观看| 99re视频在线播放| 天堂网av在线播放| 国产欧美日韩在线看| 欧美 另类 交| 高清电影在线免费观看| 欧美性生交xxxxx久久久| caoporn超碰97| 黄色成人小视频| 3d成人动漫网站| 白嫩情侣偷拍呻吟刺激| 欧美猛男同性videos| 丝袜一区二区三区| 国产第100页| 日韩精品亚洲专区| 91美女片黄在线观看游戏| 亚洲免费成人网| 久久亚洲私人国产精品va媚药| 欧美一级二级三级九九九| 91福利在线视频| 亚洲综合成人网| 国产视频一区二区视频| 白嫩亚洲一区二区三区| 亚洲激情在线观看视频免费| 天堂久久精品忘忧草| 午夜欧美精品久久久久久久| 91精品国产91久久久久久最新| 怡红院av久久久久久久| 国产福利电影一区二区三区| 欧美日韩亚洲一区二区三区在线观看| 青青青青在线| 精品久久久久久久久久 | 成人污污视频在线观看| 日韩亚洲一区在线播放| 超碰在线中文字幕| 欧美日韩亚洲另类| 日本少妇色视频| 亚洲欧美网站在线观看| 国产a级全部精品| 精品国自产在线观看| 日本一区二区三区久久久久久久久不 | 欧美三级资源在线| 蜜臀av一区二区三区有限公司| 亚洲91久久| 国产精品成人av在线| 欧美一级一区二区三区| 亚洲欧美激情在线| 中文字幕在线综合| 亚洲涩涩av| 国内精品久久久久| 国内精品国产成人国产三级| 国产欧美日韩精品一区| 国产乱子伦农村叉叉叉| 日本久久伊人| 久久中文久久字幕| 中文字幕有码无码人妻av蜜桃| 99精品1区2区| 中文字幕人妻熟女人妻洋洋| 国产情侣一区在线| 最近2019中文字幕mv免费看| 亚洲综合图片网| 91一区二区在线观看| 精品一二三四五区| 97视频一区| 欧美激情精品久久久久久| 国产模特av私拍大尺度| 国产精品久久午夜| 毛葺葺老太做受视频| 国产精品一区高清| 欧美一级视频在线观看| 姝姝窝人体www聚色窝| 亚洲国产毛片aaaaa无费看 | 中文字幕欧美日韩一区| 国产男女在线观看| 欧美高清视频看片在线观看| 韩国19禁主播vip福利视频| 黄色成人一级片| 亚洲图片欧美一区| 最近日本中文字幕| 99精品视频免费观看| 精品一区二区三区视频日产| 三妻四妾完整版在线观看电视剧 | 在线观看电影av| 51精品久久久久久久蜜臀| 成人信息集中地| 精品无人区卡一卡二卡三乱码免费卡| 亚洲日本无吗高清不卡| 国产精品日本一区二区不卡视频| 久久久精品久久| 精品国产无码一区二区| 亚洲综合色婷婷| 999精品免费视频| 久久久久久黄| 视频一区二区三区免费观看| 青青久久精品| 欧美情侣性视频| 四虎电影院在线观看| 色婷婷av久久久久久久| 中国美女黄色一级片| 精品综合久久久久久8888| 男人天堂网站在线| 欧美五码在线| 国产日韩精品视频| 在线中文字幕视频观看| 日韩高清不卡av| 黄色大全在线观看| 亚洲精品国产精品乱码不99| 日韩少妇一区二区| 老牛嫩草一区二区三区日本| 中文字幕一区二区三区5566| 2021年精品国产福利在线| 2018国产精品视频| 在线视频自拍| 日韩免费视频一区| 国产精品一区无码| 综合自拍亚洲综合图不卡区| 99久久人妻精品免费二区| 日韩精彩视频在线观看| 国产一区 在线播放| 一本久久青青| 3d动漫精品啪啪一区二区三区免费| 草草视频在线| 国产一区二区三区网站| 性一交一乱一色一视频麻豆| 欧美天堂在线观看| 青娱乐国产在线视频| 久久久久久久电影| 超碰人人cao| 视频一区欧美日韩| wwwwww欧美| 成人免费在线播放| 精品不卡一区二区三区| 亚洲国产综合在线观看| 欧美亚洲激情视频| a毛片在线观看| 国产一区二区三区直播精品电影| 精品人妻一区二区三区日产乱码 | 午夜免费福利视频| 色婷婷亚洲综合| 国产午夜精品一区二区理论影院 | 国产午夜激情视频| 综合色中文字幕| 中文字幕网站在线观看| 北条麻妃国产九九精品视频| 蜜臀一区二区三区精品免费视频| 欧美亚洲一级| 欧美黄色免费网址| 天天射综合网视频| 天天好比中文综合网| 蜜桃久久久久| av激情久久| 黄色成人在线观看网站| 国产成人精品在线观看| 波多野结衣乳巨码无在线观看| 久久久精品999| 日韩伦理在线观看| 在线播放日韩专区| 国产h在线观看| 亚洲精选在线观看| 熟妇高潮一区二区三区| 亚洲第一视频在线观看| 亚洲黄色a级片| 在线播放日韩导航| 91麻豆成人精品国产| 欧美日精品一区视频| 超碰在线观看91| 日本韩国欧美一区| 久久久久久不卡| 色婷婷av一区二区三区之一色屋| 国产成人精品一区二三区| 亚欧色一区w666天堂| 伊人国产在线观看| 亚洲国产精品人人做人人爽| 五月婷婷一区二区| 亚洲夂夂婷婷色拍ww47| 久久久久性色av无码一区二区| 一区二区三区四区av| 91视频免费在线看| 亚洲一级不卡视频| 国产成人愉拍精品久久| 岛国av一区二区在线在线观看| 91av在线免费视频| 色吊一区二区三区| 国产91av在线播放| 欧美日韩视频第一区| 一二三四区视频| 欧美电影影音先锋| av官网在线观看| 精品动漫一区二区三区在线观看| 99视频免费看| 亚洲成人教育av| 日本天堂影院在线视频| 亚洲最大在线视频| 黄在线免费看| 久久人人爽国产| 在线免费看h| 国产精品久久久久一区二区| 精品九九久久| 97视频资源在线观看| 国产精品45p| 欧洲一区二区在线| 91精品啪在线观看国产81旧版| 成人av在线播放观看| 国产亚洲欧洲| 黄色三级视频片| 国产一区二区三区四| 午夜不卡久久精品无码免费| 久久久精品黄色| 欧美第一页在线观看| 亚洲韩国精品一区| 中文在线观看免费高清| 欧美一区二区二区| 欧洲毛片在线| 美女扒开尿口让男人操亚洲视频网站| av资源中文在线天堂| 国产精品久久久91| 国产视频一区二区在线播放| 久久99导航| 91久久久精品国产| 久久久久久久久久久视频| 麻豆国产精品777777在线| avtt中文字幕| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久久国产成人| 色婷婷一区二区三区四区| 精品久久久中文字幕人妻| 精品亚洲aⅴ在线观看| √天堂8在线网| 国产精品久久综合av爱欲tv| 欧美h版在线观看| 亚洲国产日韩美| 亚洲黄色成人| 17c国产在线| 久久蜜桃av一区二区天堂| 黄色一级免费视频| 欧美日韩国产综合一区二区三区| 黄色一级大片在线免费看国产| 在线成人一区二区| 手机在线观看av网站| 91九色蝌蚪嫩草| 北条麻妃国产九九九精品小说| 国产av人人夜夜澡人人爽麻豆| 久久国产精品露脸对白| 国产精品伦子伦| 亚洲国产精品视频| 99久久一区二区| 最近2019中文字幕一页二页| 色戒汤唯在线观看| 97在线电影| 婷婷激情图片久久| 亚洲一级片免费| 久久久综合激的五月天| 日本三级理论片| 日韩女优电影在线观看| 欧美猛烈性xbxbxbxb| 国产精品999| 欧美激情在线免费| 91国视频在线| 成人成人成人在线视频| 久久r这里只有精品| 欧美一区二区精美| 久久77777| 91精品国产综合久久男男| 欧州一区二区| 99久久国产宗和精品1上映| 99精品欧美一区| 欧美bbbbbbbbbbbb精品| 精品国产免费一区二区三区四区| 成人福利片网站| 亚洲free性xxxx护士白浆| 日韩久久精品| 中文字幕在线综合| 国产精品国产精品国产专区不片| 国产一区二区视频免费| 亚洲天堂av电影| 久久久加勒比| 波多野结衣激情| 国产精品亚洲人在线观看| 欧美成人aaa片一区国产精品| 在线成人免费观看| av在线播放观看| 98国产高清一区| 亚洲美女一区| 国产一级二级在线观看| 欧美性猛交xxxx乱大交蜜桃| 免费黄色片在线观看| 国产精品欧美亚洲777777| 精品国产乱码久久久| 中文字幕成人在线视频| 亚洲欧美一区二区视频| 午夜精品久久久久久久99| 久久久久日韩精品久久久男男| 国产精品一区二区三区美女| 波多野结衣乳巨码无在线| 99国产精品久久久久| 欧美一区二区三区久久久| 久久久国产成人精品| 日本精品一区二区三区在线观看视频| 国产精品成人久久电影| 久久女同性恋中文字幕| 国产精品第六页| 久久五月天综合| 国产suv精品一区二区四区视频| 日本少妇高潮喷水视频| 国产日韩欧美精品一区| 91亚洲国产成人精品一区| 欧美韩国理论所午夜片917电影| 奇米777国产一区国产二区| 熟女人妇 成熟妇女系列视频| 1区2区3区欧美| 蜜臀久久99精品久久久| 国产精品com| 自产国语精品视频| 三级男人添奶爽爽爽视频 | 国产成人精品电影久久久| 99精品视频精品精品视频| 岛国av免费观看| 欧美在线播放高清精品| 亚洲小说区图片| 日韩免费中文专区| 国产成人精品亚洲日本在线桃色 | 韩日精品视频一区| 国产无遮挡又黄又爽| 中文在线资源观看视频网站免费不卡| 麻豆视频久久| 色综合av综合无码综合网站| 自拍偷拍国产精品| 神马久久高清| 91青青草免费在线看| 日韩精品一区第一页| 久久免费视频播放|