久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

PHP基礎之數據類型4——字符串(String)

瀏覽:16日期:2022-09-14 11:58:06

一個字符串 string 就是由一系列的字符組成,其中每個字符等同于一個字節。這意味著 PHP 只能支持 256 的字符集,因此不支持 Unicode 。詳見字符串類型詳解。

Note: string 最大可以達到 2GB。

語法

一個字符串可以用 4 種方式表達:

單引號

雙引號

heredoc 語法結構

nowdoc 語法結構(自 PHP 5.3.0 起)

單引號

定義一個字符串的最簡單的方法是用單引號把它包圍起來(字符 ’)。

要表達一個單引號自身,需在它的前面加個反斜線()來轉義。要表達一個反斜線自身,則用兩個反斜線()。其它任何方式的反斜線都會被當成反斜線本身:也就是說如果想使用其它轉義序列例如 r 或者 n,并不代表任何特殊含義,就單純是這兩個字符本身。

Note: 不像雙引號和 heredoc 語法結構,在單引號字符串中的變量和特殊字符的轉義序列將不會被替換。

<?php

echo ’this is a simple string’;

// 可以錄入多行

echo ’You can also have embedded newlines in

strings this way as it is

okay to do’;

// 輸出: Arnold once said: 'I’ll be back'

echo ’Arnold once said: 'I’ll be back'’;

// 輸出: You deleted C:*.*?

echo ’You deleted C:*.*?’;

// 輸出: You deleted C:*.*?

echo ’You deleted C:*.*?’;

// 輸出: This will not expand: n a newline

echo ’This will not expand: n a newline’;

// 輸出: Variables do not $expand $either

echo ’Variables do not $expand $either’;

?>

雙引號

如果字符串是包圍在雙引號(')中, PHP 將對一些特殊的字符進行解析:

序列

含義

n

換行(ASCII 字符集中的 LF 或 0x0A (10))

r

回車(ASCII 字符集中的 CR 或 0x0D (13))

t

水平制表符(ASCII 字符集中的 HT 或 0x09 (9))

v

垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)

e

Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)

f

換頁(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)

反斜線

$

美元標記

'

雙引號

[0-7]{1,3}

符合該正則表達式序列的是一個以八進制方式來表達的字符

x[0-9A-Fa-f]{1,2}

符合該正則表達式序列的是一個以十六進制方式來表達的字符

和單引號字符串一樣,轉義任何其它字符都會導致反斜線被顯示出來。PHP 5.1.1 以前,{$var} 中的反斜線還不會被顯示出來。

用雙引號定義的字符串最重要的特征是變量會被解析,詳見變量解析。

Heredoc 結構

第三種表達字符串的方法是用 heredoc 句法結構:<<<。在該運算符之后要提供一個標識符,然后換行。接下來是字符串 string 本身,最后要用前面定義的標識符作為結束標志。

結束時所引用的標識符必須在該行的第一列,而且,標識符的命名也要像其它標簽一樣遵守 PHP 的規則:只能包含字母、數字和下劃線,并且必須以字母和下劃線作為開頭。

Warning

要注意的是結束標識符這行除了可能有一個分號(;)外,絕對不能包含其它字符。這意味著標識符不能縮進,分號的前后也不能有任何空白或制表符。更重要的是結束標識符的前面必須是個被本地操作系統認可的換行,比如在 UNIX 和 Mac OS X 系統中是 n,而結束定界符(可能其后有個分號)之后也必須緊跟一個換行。

如果不遵守該規則導致結束標識不“干凈”,PHP 將認為它不是結束標識符而繼續尋找。如果在文件結束前也沒有找到一個正確的結束標識符,PHP 將會在最后一行產生一個解析錯誤。

Heredocs 結構不能用來初始化類的屬性。自 PHP 5.3 起,此限制僅對 heredoc 包含變量時有效。

Example #1 非法的示例

<?php

class foo {

public $bar = <<<EOT

bar

EOT;

}

?>

Heredoc 結構就象是沒有使用雙引號的雙引號字符串,這就是說在 heredoc 結構中單引號不用被轉義,但是上文中列出的轉義序列還可以使用。變量將被替換,但在 heredoc 結構中含有復雜的變量時要格外小心。

Example #2 Heredoc 結構的字符串示例

<?php

$str = <<<EOD

Example of string

spanning multiple lines

using heredoc syntax.

EOD;

/* 含有變量的更復雜示例 */

class foo

{

???var $foo;

var $bar;

function foo()

{

$this->foo = ’Foo’;

$this->bar = array(’Bar1’, ’Bar2’, ’Bar3’);

}

}

$foo = new foo();

$name = ’MyName’;

echo <<<EOT

My name is '$name'. I am printing some $foo->foo.

Now, I am printing some {$foo->bar[1]}.

This should print a capital ’A’: x41

EOT;

?>

以上例程會輸出:

My name is 'MyName'. I am printing some Foo.Now, I am printing some Bar2.This should print a capital ’A’: A

也可以把 Heredoc 結構用在函數參數中來傳遞數據:

Example #3 Heredoc 結構在參數中的示例

<?php

var_dump(array(<<<EOD

foobar!

EOD

));

?>

在 PHP 5.3.0 以后,也可以用 Heredoc 結構來初始化靜態變量和類的屬性和常量:

Example #4 使用 Heredoc 結構來初始化靜態值

<?php

// 靜態變量

function foo()

{

static $bar = <<<LABEL

Nothing in here...

LABEL;

}

// 類的常量、屬性

class foo

{

const BAR = <<<FOOBAR

Constant example

FOOBAR;

public $baz = <<<FOOBAR

Property example

FOOBAR;

}

?>

Nowdoc 結構

就象 heredoc 結構類似于雙引號字符串,Nowdoc 結構是類似于單引號字符串的。Nowdoc 結構很象 heredoc 結構,但是 nowdoc 中不進行解析操作。這種結構很適合用于嵌入 PHP 代碼或其它大段文本而無需對其中的特殊字符進行轉義。與 SGML 的 <![CDATA[ ]]> 結構是用來聲明大段的不用解析的文本類似,nowdoc 結構也有相同的特征。

一個 nowdoc 結構也用和 heredocs 結構一樣的標記 <<<, 但是跟在后面的標識符要用單引號括起來,即 <<<’EOT’。Heredoc 結構的所有規則也同樣適用于 nowdoc 結構,尤其是結束標識符的規則。

Example #6 Nowdoc 結構字符串示例

<?php

$str = <<<’EOD’

Example of string

spanning multiple lines

using nowdoc syntax.

EOD;

/* 含有變量的更復雜的示例 */

class foo

{

public $foo;

public $bar;

function foo()

???{

$this->foo = ’Foo’;

$this->bar = array(’Bar1’, ’Bar2’, ’Bar3’);

???}

}

$foo = new foo();

$name = ’MyName’;

echo <<<’EOT’

My name is '$name'. I am printing some $foo->foo.

Now, I am printing some {$foo->bar[1]}.

This should not print a capital ’A’: x41

EOT;

?>

以上例程會輸出:

My name is '$name'. I am printing some $foo->foo.Now, I am printing some {$foo->bar[1]}.This should not print a capital ’A’: x41

Note:

不象 heredoc 結構,nowdoc 結構可以用在任意的靜態數據環境中,最典型的示例是用來初始化類的屬性或常量:

Example #7 靜態數據的示例

<?php

class foo {

???public $bar = <<<’EOT’

bar

EOT;

}

?>

Note:

Nowdoc 結構是在 PHP 5.3.0 中加入的。

變量解析

當字符串用雙引號或 heredoc 結構定義時,其中的變量將會被解析。

這里共有兩種語法規則:一種簡單規則,一種復雜規則。簡單的語法規則是最常用和最方便的,它可以用最少的代碼在一個 string 中嵌入一個變量,一個 array 的值,或一個 object 的屬性。

復雜規則語法的顯著標記是用花括號包圍的表達式。

簡單語法

當 PHP 解析器遇到一個美元符號($)時,它會和其它很多解析器一樣,去組合盡量多的標識以形成一個合法的變量名。可以用花括號來明確變量名的界線。

<?php

$juice = 'apple';

echo 'He drank some $juice juice.'.PHP_EOL;

// Invalid. 's' is a valid character for a variable name, but the variable is $juice.

echo 'He drank some juice made of $juices.';

?>

以上例程會輸出:

He drank some apple juice.He drank some juice made of .

類似的,一個 array 索引或一個 object 屬性也可被解析。數組索引要用方括號(])來表示索引結束的邊際,對象屬性則是和上述的變量規則相同。

Example #8 簡單語法示例

<?php

$juices = array('apple', 'orange', 'koolaid1' => 'purple');

echo 'He drank some $juices[0] juice.'.PHP_EOL;

echo 'He drank some $juices[1] juice.'.PHP_EOL;

echo 'He drank some juice made of $juice[0]s.'.PHP_EOL; // Won’t work

echo 'He drank some $juices[koolaid1] juice.'.PHP_EOL;

class people {

???public $john = 'John Smith';

???public $jane = 'Jane Smith';

???public $robert = 'Robert Paulsen';

???public $smith = 'Smith';

}

$people = new people();

echo '$people->john drank some $juices[0] juice.'.PHP_EOL;

echo '$people->john then said hello to $people->jane.'.PHP_EOL;

echo '$people->john’s wife greeted $people->robert.'.PHP_EOL;

echo '$people->robert greeted the two $people->smiths.'; // Won’t work

?>

以上例程會輸出:

He drank some apple juice.He drank some orange juice.He drank some juice made of s.He drank some purple juice.John Smith drank some apple juice.John Smith then said hello to Jane Smith.John Smith’s wife greeted Robert Paulsen.Robert Paulsen greeted the two .

如果想要表達更復雜的結構,請用復雜語法。

復雜(花括號)語法

復雜語法不是因為其語法復雜而得名,而是因為它可以使用復雜的表達式。

任何具有 string 表達的標量變量,數組單元或對象屬性都可使用此語法。只需簡單地像在 string 以外的地方那樣寫出表達式,然后用花括號 { 和 } 把它括起來即可。由于 { 無法被轉義,只有 $緊挨著 { 時才會被識別。可以用 {$ 來表達 {$。下面的示例可以更好的解釋:

<?php

// 顯示所有錯誤

error_reporting(E_ALL);

$great = ’fantastic’;

// 無效,輸出: This is { fantastic}

echo 'This is { $great}';

// 有效,輸出: This is fantastic

echo 'This is {$great}';

echo 'This is ${great}';

// 有效

echo 'This square is {$square->width}00 centimeters broad.';

// 有效,只有通過花括號語法才能正確解析帶引號的鍵名

echo 'This works: {$arr[’key’]}';

// 有效

echo 'This works: {$arr[4][3]}';

// 這是錯誤的表達式,因為就象 $foo[bar] 的格式在字符串以外也是錯的一樣。

// 換句話說,只有在 PHP 能找到常量 foo 的前提下才會正常工作;這里會產生一個

// E_NOTICE (undefined constant) 級別的錯誤。

echo 'This is wrong: {$arr[foo][3]}';

// 有效,當在字符串中使用多重數組時,一定要用括號將它括起來

echo 'This works: {$arr[’foo’][3]}';

// 有效

echo 'This works: ' . $arr[’foo’][3];

echo 'This works too: {$obj->values[3]->name}';

echo 'This is the value of the var named $name: {${$name}}';

echo 'This is the value of the var named by the return value of getName(): {${getName()}}';

echo 'This is the value of the var named by the return value of $object->getName(): {${$object->getName()}}';

// 無效,輸出: This is the return value of getName(): {getName()}

echo 'This is the return value of getName(): {getName()}';

?>

也可以在字符串中用此語法通過變量來調用類的屬性。

<?php

class foo {

???var $bar = ’I am bar.’;

}

$foo = new foo();

$bar = ’bar’;

$baz = array(’foo’, ’bar’, ’baz’, ’quux’);

echo '{$foo->$bar}n';

echo '{$foo->$baz[1]}n';

?>

以上例程會輸出:

I am bar.

I am bar.

Note:

函數、方法、靜態類變量和類常量只有在 PHP 5 以后才可在 {$} 中使用。然而,只有在該字符串被定義的命名空間中才可以將其值作為變量名來訪問。只單一使用花括號 ({}) 無法處理從函數或方法的返回值或者類常量以及類靜態變量的值。

<?php

// 顯示所有錯誤

error_reporting(E_ALL);

class beers {

???const softdrink = ’rootbeer’;

???public static $ale = ’ipa’;

}

$rootbeer = ’A & W’;

$ipa = ’Alexander Keith’s’;

// 有效,輸出: I’d like an A & W

echo 'I’d like an {${beers::softdrink}}n';

// 也有效,輸出: I’d like an Alexander Keith’s

echo 'I’d like an {${beers::$ale}}n';

?>

存取和修改字符串中的字符

string 中的字符可以通過一個從 0 開始的下標,用類似 array 結構中的方括號包含對應的數字來訪問和修改,比如 $str[42]。可以把 string 當成字符組成的 array。函數 substr() 和substr_replace() 可用于操作多于一個字符的情況。

Note: string 也可用花括號訪問,比如 $str{42}。

Warning

用超出字符串長度的下標寫入將會拉長該字符串并以空格填充。非整數類型下標會被轉換成整數。非法下標類型會產生一個 E_NOTICE 級別錯誤。用負數下標寫入字符串時會產生一個 E_NOTICE 級別錯誤,用負數下標讀取字符串時返回空字符串。寫入時只用到了賦值字符串的第一個字符。用空字符串賦值則賦給的值是 NULL 字符。

Warning

PHP 的字符串在內部是字節組成的數組。因此用花括號訪問或修改字符串對多字節字符集很不安全。僅應對單字節編碼例如 ISO-8859-1 的字符串進行此類操作。

Example #9 一些字符串示例

<?php

// 取得字符串的第一個字符

$str = ’This is a test.’;

$first = $str[0];

// 取得字符串的第三個字符

$third = $str[2];

// 取得字符串的最后一個字符

$str = ’This is still a test.’;

$last = $str[strlen($str)-1];

// 修改字符串的最后一個字符

$str = ’Look at the sea’;

$str[strlen($str)-1] = ’e’;

?>

自 PHP 5.4 起字符串下標必須為整數或可轉換為整數的字符串,否則會發出警告。之前例如 'foo' 的下標會無聲地轉換成 0。

Example #10 PHP 5.3 和 PHP 5.4 的區別

<?php

$str = ’abc’;

var_dump($str[’1’]);

var_dump(isset($str[’1’]));

var_dump($str[’1.0’]);

var_dump(isset($str[’1.0’]));

var_dump($str[’x’]);

var_dump(isset($str[’x’]));

var_dump($str[’1x’]);

var_dump(isset($str[’1x’]));

?>

以上例程在PHP 5.3中的輸出:

string(1) 'b'bool(true)string(1) 'b'bool(true)string(1) 'a'bool(true)string(1) 'b'bool(true)

以上例程在PHP 5.4中的輸出:

string(1) 'b'bool(true)

Warning: Illegal string offset ’1.0’ in /tmp/t.php on line 7string(1) 'b'bool(false)

Warning: Illegal string offset ’x’ in /tmp/t.php on line 9string(1) 'a'bool(false)string(1) 'b'bool(false)

Note:

用 [] 或 {} 訪問任何其它類型(不包括數組或具有相應接口的對象實現)的變量只會無聲地返回 NULL。

Note:

PHP 5.5 增加了直接在字符串原型中用 [] 或 {} 訪問字符的支持。

有用的函數和運算符

字符串可以用 ’.’(點)運算符連接起來,注意 ’+’(加號)運算符沒有這個功能。更多信息參考字符串運算符。

對于 string 的操作有很多有用的函數。

可以參考字符串函數了解大部分函數,高級的查找與替換功能可以參考正則表達式函數或 Perl 兼容正則表達式函數。

另外還有 URL 字符串函數,也有加密/解密字符串的函數(mcrypt 和 mhash)。

最后,可以參考字符類型函數。

轉換成字符串

一個值可以通過在其前面加上 (string) 或用 strval() 函數來轉變成字符串。在一個需要字符串的表達式中,會自動轉換為 string。比如在使用函數 echo 或 print 時,或在一個變量和一個 string進行比較時,就會發生這種轉換。類型和類型轉換可以更好的解釋下面的事情,也可參考函數 settype()。

一個布爾值 boolean 的 TRUE 被轉換成 string 的 '1'。Boolean 的 FALSE 被轉換成 ''(空字符串)。這種轉換可以在 boolean 和 string 之間相互進行。

一個整數 integer 或浮點數 float 被轉換為數字的字面樣式的 string(包括 float 中的指數部分)。使用指數計數法的浮點數(4.1E+6)也可轉換。

Note:

在腳本的區域(category LC_NUMERIC)中定義了十進制小數點字符。參見 setlocale()。

數組 array 總是轉換成字符串 'Array',因此, echo 和 print 無法顯示出該數組的內容。要顯示某個單元,可以用 echo $arr[’foo’] 這種結構。要顯示整個數組內容見下文。

在 PHP 4 中對象 object 總是被轉換成字符串 'Object',如果為了調試原因需要打印出對象的值,請繼續閱讀下文。為了得到對象的類的名稱,可以用 get_class() 函數。自 PHP 5 起,適當時可以用 __toString 方法。

資源 resource 總會被轉變成 'Resource id #1' 這種結構的字符串,其中的 1 是 PHP 在運行時分配給該 resource 的唯一值。不要依賴此結構,可能會有變更。要得到一個 resource 的類型,可以用函數 get_resource_type()。

NULL 總是被轉變成空字符串。

如上面所說的,直接把 array,object 或 resource 轉換成 string 不會得到除了其類型之外的任何有用信息。可以使用函數 print_r() 和 var_dump() 列出這些類型的內容。

大部分的 PHP 值可以轉變成 string 來永久保存,這被稱作串行化,可以用函數 serialize() 來實現。如果 PHP 引擎設定支持 WDDX,PHP 值也可被串行化為格式良好的 XML 文本。

字符串轉換為數值

當一個字符串被當作一個數值來取值,其結果和類型如下:

如果該字符串沒有包含 ’.’,’e’ 或 ’E’ 并且其數字值在整型的范圍之內(由 PHP_INT_MAX 所定義),該字符串將被當成 integer 來取值。其它所有情況下都被作為 float 來取值。

該字符串的開始部分決定了它的值。如果該字符串以合法的數值開始,則使用該數值。否則其值為 0(零)。合法數值由可選的正負號,后面跟著一個或多個數字(可能有小數點),再跟著可選的指數部分。指數部分由 ’e’ 或 ’E’ 后面跟著一個或多個數字構成。

<?php

$foo = 1 + '10.5'; ???????????????// $foo is float (11.5)

$foo = 1 + '-1.3e3'; ?????????????// $foo is float (-1299)

$foo = 1 + 'bob-1.3e3'; ??????????// $foo is integer (1)

$foo = 1 + 'bob3'; ???????????????// $foo is integer (1)

$foo = 1 + '10 Small Pigs'; ??????// $foo is integer (11)

$foo = 4 + '10.2 Little Piggies'; // $foo is float (14.2)

$foo = '10.0 pigs ' + 1; ?????????// $foo is float (11)

$foo = '10.0 pigs ' + 1.0; ???????// $foo is float (11)

?>

更多信息可以參考 Unix 手冊中的 strtod(3)。

本節中的示例可以通過復制/粘貼到下面的代碼中來顯示:

<?php

echo '$foo==$foo; type is ' . gettype ($foo) . '<br />n';

?>

不要想像在 C 語言中的那樣,通過將一個字符轉換成整數以得到其代碼。使用函數 ord() 和 chr() 實現 ASCII 碼和字符間的轉換。

字符串類型詳解

PHP 中的 string 的實現方式是一個由字節組成的數組再加上一個整數指明緩沖區長度。并無如何將字節轉換成字符的信息,由程序員來決定。字符串由什么值來組成并無限制;特別的,其值為0(“NUL bytes”)的字節可以處于字符串任何位置(不過有幾個函數,在本手冊中被稱為非“二進制安全”的,也許會把 NUL 字節之后的數據全都忽略)。

字符串類型的此特性解釋了為什么 PHP 中沒有單獨的“byte”類型 - 已經用字符串來代替了。返回非文本值的函數 - 例如從網絡套接字讀取的任意數據 - 仍會返回字符串。

由于 PHP 并不特別指明字符串的編碼,那字符串到底是怎樣編碼的呢?例如字符串 'á' 到底是等于 'xE1'(ISO-8859-1),'xC3xA1'(UTF-8,C form),'x61xCCx81'(UTF-8,D form)還是任何其它可能的表達呢?答案是字符串會被按照該腳本文件相同的編碼方式來編碼。因此如果一個腳本的編碼是 ISO-8859-1,則其中的字符串也會被編碼為 ISO-8859-1,以此類推。不過這并不適用于激活了 Zend Multibyte 時;此時腳本可以是以任何方式編碼的(明確指定或被自動檢測)然后被轉換為某種內部編碼,然后字符串將被用此方式編碼。注意腳本的編碼有一些約束(如果激活了 Zend Multibyte 則是其內部編碼)- 這意味著此編碼應該是 ASCII 的兼容超集,例如 UTF-8 或 ISO-8859-1。不過要注意,依賴狀態的編碼其中相同的字節值可以用于首字母和非首字母而轉換狀態,這可能會造成問題。

當然了,要做到有用,操作文本的函數必須假定字符串是如何編碼的。不幸的是,PHP 關于此的函數有很多變種:

某些函數假定字符串是以單字節編碼的,但并不需要將字節解釋為特定的字符。例如 substr(), strpos(), strlen() 和 strcmp()。理解這些函數的另一種方法是它們作用于內存緩沖區,即按照字節和字節下標操作。

某些函數被傳遞入了字符串的編碼方式,也可能會假定默認無此信息。例如 htmlentities() 和 mbstring 擴展中的大部分函數。

其它函數使用了當前區域(見 setlocale()),但是逐字節操作。例如 strcasecmp(), strtoupper() 和 ucfirst()。這意味著這些函數只能用于單字節編碼,而且編碼要與區域匹配。例如strtoupper('á') 在區域設定正確并且 á 是單字節編碼時會返回 'á'。如果是用 UTF-8 編碼則不會返回正確結果,其結果根據當前區域有可能返回損壞的值。

最后一些函數會假定字符串是使用某特定編碼的,通常是 UTF-8。intl 擴展和 PCRE(上例中僅在使用了 u 修飾符時)擴展中的大部分函數都是這樣。盡管這是由于其特殊用途,utf8_decode() 會假定 UTF-8 編碼而 utf8_encode() 會假定 ISO-8859-1 編碼。

最后,要書寫能夠正確使用 Unicode 的程序依賴于很小心地避免那些可能會損壞數據的函數。要使用來自于 intl 和 mbstring 擴展的函數。不過使用能處理 Unicode 編碼的函數只是個開始。不管用何種語言提供的函數,最基本的還是了解 Unicode 規格。例如一個程序如果假定只有大寫和小寫,那可是大錯特錯。

標簽: PHP
相關文章:
主站蜘蛛池模板: 国产在线观看欧美 | 91久久精品一区二区二区 | 韩国精品主播一区二区在线观看 | 中文字幕 在线观看 | 中文字幕一区在线观看视频 | h视频在线观看免费 | 国产一区二区影院 | 国产一区二区三区在线 | 国产精品日韩欧美一区二区三区 | 欧美福利专区 | 国产午夜视频 | 国产91在线观看 | 欧美日韩在线一区二区 | 日韩一区二区在线免费观看 | 日韩精品免费 | 久久亚洲精品综合 | 欧美日韩一区二区三区在线观看 | 不卡视频一区二区三区 | 日韩精品一区二区三区中文在线 | 嫩草视频网 | 国产精品久久久久久久久久三级 | 国产91在线播放精品91 | 91色在线观看 | 亚洲欧美日韩在线一区 | 久久麻豆视频 | 国产精品一区二区无线 | 成人免费av | 欧美国产日韩精品 | 欧美精品在线观看 | 天堂中文av在线 | 天天综合网久久综合网 | 亚洲一区二区在线 | 国产精品久久久久久久久久久久久久久久 | 欧美日韩国产中文 | 亚洲精品无 | 久久叉| 欧美成人性生活 | 91久久综合亚洲鲁鲁五月天 | 高清三区 | 日本成人在线视频网站 | 亚洲欧美激情精品一区二区 | 成人免费视频视频在线观看 免费 | 欧美在线a | av一级毛片 | 日韩精品在线播放 | 人操人人人 | 日本激情视频一区二区三区 | 欧美精品tv | 国内精品国产成人国产三级粉色 | 国产精品国产精品国产专区不片 | 日本激情视频在线播放 | 国产高清在线精品一区二区三区 | 国产精品成人国产乱一区 | 91中文字幕在线观看 | 色橹橹欧美在线观看视频高清 | 亚洲精品久久久久久下一站 | 日韩视频在线观看一区 | 久久99国产精品久久99果冻传媒 | 欧美狠狠操 | 亚洲精品不卡 | 欧美天堂在线观看 | 嫩草影院黄色 | 精品国产一区二区三区日日嗨 | 成人欧美一区二区三区在线播放 | 中文字幕二区 | 亚洲综合视频 | 国产精品欧美一区二区三区 | 日韩中文字幕一区二区 | 亚洲精品久久久 | 狠狠躁夜夜躁人人爽天天高潮 | 一区二区免费看 | 999久久久久久久久 国产欧美在线观看 | 中文字幕色 | ririsao久久精品一区 | 天天艹逼| 亚洲视频在线播放 | 日韩精品一区在线 | 97国产超碰 | 亚洲精品久久久久久下一站 | 91高清免费看 | 刘亦菲的毛片 | 国产精品毛片一区二区三区 | 精品一二区 | 91久久91久久精品免观看 | 黄色一级电影免费观看 | 欧美一级二级三级 | 国产精品自拍一区 | 免费一二三区 | 亚洲一区 | 国产在线观看av | 四虎永久免费影院 | 日本久久精品视频 | 91看片在线观看 | 精品久久久久久亚洲综合网 | 国产日韩精品视频 | 欧美日韩久久精品 | 亚洲码欧美码一区二区三区 | 在线观看国产一区 | 亚洲精品天堂 | 欧美性猛交一区二区三区精品 | 国产精品久久久久毛片软件 | 99久久免费精品国产男女性高好 | 日韩欧美在线观看一区 | 日韩精品一区二区三区中文字幕 | 国产精品成人一区二区三区夜夜夜 | 91精品国产777在线观看 | 国产精品一区二区在线观看 | 精品一区二区三区在线观看 | 九九视频这里只有精品 | 国产精品久久久久久久久久久新郎 | 国产精品欧美一区二区三区不卡 | 91亚洲日本 | 国产精品污www一区二区三区 | 国产精品久久久久久久久久妇女 | 午夜视频免费网站 | 亚洲一区二区福利 | 日韩视频一区二区三区 | 久久va| 国产真实乱全部视频 | 黄色一级视频 | 亚洲高清在线视频 | 日本福利网站 | 国产视频一区在线 | 中文字幕在线精品 | 午夜影院在线观看 | 久久综合九色综合欧美狠狠 | 午夜精品一区二区三区免费视频 | 日本三级做a全过程在线观看 | 亚洲国产精品久久久久秋霞蜜臀 | 国产美女一区 | 中文字幕观看 | 久久综合一区二区 | 久久国产精品免费一区二区三区 | 国产精品乱码一二三区的特点 | 天天久久 | 天堂一区二区三区四区 | 色在线免费视频 | 亚洲国产精品一区二区第一页 | 一区二区中文字幕 | 美女一级a毛片免费观看97 | 精品成人在线 | 久久网日本 | 亚洲一区视频 | 一区二区三区免费 | 国产精品九九九 | 亚洲国内精品 | 午夜影视免费观看 | 国产在线小视频 | 亚洲欧美精品 | 国产精品视频久久久 | 久久99精品久久久久久园产越南 | 在线小视频 | 亚洲综合激情网 | 日韩精品久久久久久 | 亚洲精品视频在线 | 精品日韩一区二区三区 | 欧美精品欧美精品系列 | 日韩欧美在线播放 | 精品国产欧美一区二区 | 高清一区二区 | 国产高清自拍 | 国产精品999| 国产精品极品美女在线观看免费 | 国内精品久久久久久影视8 91一区二区在线观看 | 成人一级片| 欧美精品一区二区在线观看 | 日韩电影免费在线观看中文字幕 | 亚洲日本韩国在线观看 | 午夜小视频在线观看 | 国产亚洲精品综合一区91555 | 亚洲二区在线视频 | 欧美福利专区 | 天堂免费在线 | 国内精品久久久久久中文字幕 | 7777奇米影视 | 老汉色影院 | 亚洲一区电影 | 久久久久9999国产精品 | 久久久婷| 久久久久国产一区 | 涩涩视频大全 | 亚洲一区二区三区久久 | www在线视频| 欧洲成人在线观看 | 91tv亚洲精品香蕉国产一区 | 日韩高清中文字幕 | 91中文在线| 91中文字幕在线 | 国产精品日本欧美一区二区三区 | 日韩欧美一区二区三区久久婷婷 | 久久久久久久av | 四虎影音 | 在线中文日韩 | 一区三区在线观看 | 干狠狠| 97色在线观看免费视频 | 国产欧美久久久久久 | 日韩成人在线视频 | 一级黄色毛片子 | 国产精品日本一区二区不卡视频 | 亚洲精品二区三区 | 色黄视频在线看 | 成人在线播放 | 91精品久久久久久久久久久 | 亚洲第一免费视频网站 | 国产精品久久久久久久久久99 | www.在线播放 | jizzjizz亚洲中国少妇 | 国产免费亚洲 | 日韩av在线免费 | 国产成人天天爽高清视频 | 日韩在线一区二区三区 | 九一视频在线播放 | 男女羞羞网站 | 欧美中文一区 | 欧美日韩国产综合视频 | 国产成人高清视频 | 中文字幕在线播放一区 | 久久精品成人一区二区三区蜜臀 | 琪琪午夜伦伦电影福利片 | 成人免费视频网 | 在线观看日韩av | 香蕉久久av一区二区三区 | 一级毛片电影 | 91在线精品秘密一区二区 | 一级免费毛片 | 一级黄色录像在线观看 | 国产成人精品免费视频大全最热 | 中文字幕在线第二页 | 国产超碰人人模人人爽人人添 | 国产精品自产拍在线观看 | 91久久夜色精品国产网站 | 国产电影一区二区三区图片 | 国产精品成人国产乱一区 | 91精品一区二区三区久久久久久 | 美女张开腿视频网站免费 | 亚洲精品国产综合区久久久久久久 | 国产精品久久久久精 | 午夜在线观看影院 | 亚洲欧洲一区二区 | 国产自产才c区 | 伊人免费在线观看高清版 | www国产在线观看 | 亚洲一二 | 欧美日韩亚洲视频 | 黄色av网站在线免费观看 | 日韩精品专区 | 视频一区 国产精品 | 午夜激情视频在线观看 | 国产精品美女久久久久久免费 | 亚洲成人网一区 | 精品国产欧美一区二区三区成人 | 婷婷av在线 | 日本jizz在线观看 | 久久精品一区视频 | 亚洲第一页中文字幕 | 国产免费自拍视频 | 国产一二三区在线观看 | 91在线视频免费观看 | 国产成人网 | 二区视频| 精品欧美乱码久久久久久 | 久久视频一区二区 | 国产精品久久久久久久久久久不卡 | 黄色精品 | 久久国产精品99久久久久久老狼 | 夜夜av| 中文字幕乱码一区二区三区 | 国产视频一区二区 | 一区二区免费在线 | 久久久蜜桃| 亚洲精品乱码久久久久久蜜桃不爽 | 午夜午夜精品一区二区三区文 | 久久99视频| 欧美日韩一级视频 | 操她视频网站 | 亚洲伦理 | 午夜寂寞影视在线观看 | 欧美一级在线观看 | 国产精品一区免费在线观看 | 欧美日韩中文字幕在线 | 国产精品精品 | 欧美黑人一级毛片 | 国产黄色在线观看 | 久久久久久久久久久久久九 | 国产精品久久久久久久久免费 | 国产视频一区二区 | 中文字幕国产视频 | 国产精品三级在线 | 亚洲综合在线一区 | 日韩精品一区二区三区在线观看 | 91人人| 五月婷婷丁香在线 | 亚洲电影在线观看 | 国产有码| 日韩一区免费在线观看 | 操久在线| 亚洲国产精品一区二区久久 | 亚洲一区二区三区 | 国产精品主播 | 欧美日韩免费在线 | av毛片免费 | 国产探花在线精品一区二区 | 自拍一区视频 | 午夜影院毛片 | a亚洲精品 | 国产精品久久久久久中文字 | 看羞羞视频免费 | 一级黄色毛片免费 | yiren22成人网| 2019天天干夜夜操 | 日韩大片免费播放 | 国内精品视频一区二区三区八戒 | 亚洲综合区 | 99精品久久 | 亚洲欧美激情视频 | 中文无码久久精品 | 午夜草逼| 亚洲精品一区二区在线观看 | 久久久久免费精品视频 | 亚洲高清在线 | 九九免费视频 | 国产 日韩 欧美 中文 在线播放 | 九九热re| 亚洲一区二区三区免费看 | 美女一级黄 | 国产亚洲一区二区精品 | 人人草人人 | 久久久精品一区 | 三级黄色片在线观看 | 精品福利av导航 | 欧美一级特黄aaaaaaa在线观看 | hd国产人妖ts另类视频 | 欧美二区三区 | 日韩中文字幕一区二区 | 成人精品久久久 | 国产精品久久久久久久久久免费看 | 91精品一区二区三区久久久久久 | 国产成人影院在线观看 | 欧美一二三四成人免费视频 | 成人精品免费视频 | 成人免费在线网址 | 色小妹一二三区 | 日日摸夜夜添夜夜添高潮视频 | 亚洲一区二区三区四区在线观看 | 久久欧美精品一区 | 涩涩视频在线观看 | 狠狠艹| 亚洲国产一区二区三区在线观看 | 成人免费视频网站在线看 | 亚洲伦理一区 | 日本三级电影网站 | 日本久久网| 色综合国产 | 中文字幕av亚洲精品一部二部 | 黄色一级网站视频 | 精品成人一区 | 男女羞羞视频免费观看 | 91嫩草在线| 国产精品久久久久久久久免费桃花 | 中文一区 | 久久人 | 蜜臀av在线播放一区二区三区 | 狠狠爱www人成狠狠爱综合网 | 91视频在线免费观看 | 精品在线一区二区 | 亚洲三级免费观看 | 欧美激情一区二区三区在线视频 | 国产综合精品视频 | 日本乱偷中文字幕 | av在线精品 | 超碰综合| 国产激情视频在线 | 青青久视频 | 精品一区二区三区四区视频 | 日本天天操 | 午夜成人免费电影 | 波多野结衣先锋影音 | 精品九九 | 色婷婷亚洲一区二区三区 | 国产成人一区二区三区 | 一区不卡 | 亚洲97视频 | 欧美第一色| 黄网址在线观看 | 特黄特色大片免费视频观看 | 日韩欧美一区二区三区免费观看 | 国产精品永久免费 | 国产一区二区三区久久 | 国产一区二区三区视频在线观看 | 国产日韩欧美一区 | 成人1区2区 | 欧美一区二区三区精品 | 欧美日韩激情一区二区三区 | www一区| 在线一区观看 | 欧美精品区 | 色www精品视频在线观看 | 亚洲欧洲精品视频在线观看 | 自拍视频网站 | 综合二区| 香蕉久久夜色精品国产使用方法 | 欧美一区永久视频免费观看 | www.av在线| 涩涩综合 | 日韩精品免费在线观看 | 亚洲成人日韩 | 欧美在线影院 | 成人精品视频在线观看 | 999精品在线| 成年人在线看片 | 日韩欧美一区在线 | 国产一级视频 | 一本a道v久大 | 亚洲欧美在线观看 | 日韩无在线 | 96久久久久久 | 中文字幕高清av | 精品国产乱码久久久久久丨区2区 | 国产精品久久久久久久福利院 | 日本一区二区三区四区视频 | 亚洲最大的黄色网 | 亚洲视频在线播放 | 国产精品久久久久9999 | 国产一区二区三区四区在线观看 | 欧美电影一区 | 亚洲欧美在线视频 | 国产综合亚洲精品一区二 | 亚洲一区二区免费 | 日韩a∨精品日韩在线观看 山岸逢花在线 | 国产网站视频 | 亚洲第一视频网站 | 黄色小视频免费观看 | www在线看片 | 天天干天天操 | 欧美精品综合 | 日本人做爰大片免费观看一老师 | 亚洲在线视频 | 亚洲黄色免费观看 | 中文字幕第七页 | 成人亚洲精品 | 女人久久久 | 日韩欧美国产精品 | 日韩草比 | 黄毛片视频 | 99re在线免费 | 视频在线一区 | 黄色免费一级 | 国产伦精品一区二区三区在线 | 在线观看免费黄色 | 九九综合九九 | 91久久久久久久久 | 久久久影视 | 一区二区三区在线 | 欧 | 亚洲精品天堂 | 久久不卡日韩美女 | 久久久久成人精品 | 国产视频第一页 | 国产日产精品一区二区三区四区 | 国产欧美日韩在线观看 | 国产成人99久久亚洲综合精品 | 欧洲成人午夜免费大片 | 国产精品美女久久 | 国产精品久久久久久久福利院 | 人人干人人干人人 | 国产在线国产 | av电影中文字幕在线观看 | 日韩中文字幕免费在线播放 | 精品国产乱码久久久久久1区2区 | 国产精品污www一区二区三区 | 国产精品视频导航 | 精品国产一区二区三区高潮视 | 久久国产精品一区二区 | 日本在线视频不卡 | 久久久亚洲综合 | 国产成人99久久亚洲综合精品 | 国产福利电影一区 | 一级黄色毛片子 | 福利久久久| 一级成人免费 | 久久国产精品一区 | 亚洲天堂中文字幕 | 黄色一级毛片 | 国产伦精品一区二区三区四区视频 | 婷婷91 | 精品99久久久久久 | 久久亚洲天堂 | 一区二区三区影院 | 中文字幕avav | 激情在线观看视频 | 天天看片天天操 | 欧美日韩一区二区三区 | 日韩午夜 | 国产一级高清视频 | 欧美性hd| 国产做a | h视频免费观看 | 成人精品一区二区三区 | 国产在线一区二区 | 台湾佬成人网 | 国产高清在线观看 | 欧美激情精品久久久久久变态 | 国产精品视频久久 | 波多野结衣 一区二区三区 精品精品久久 | 最新日韩精品在线观看 | 国产综合网站 | 欧美福利在线 | 国产网址在线 | 亚洲精品影院 | 欧美一区二区大片 | 午夜av电影 | 日本高清视频在线播放 | 日韩精品一区二区三区在线播放 | 日本一区不卡 | 国产乱码精品一区二区三 | 伊人手机在线视频 | 成人a级片在线观看 | 亚洲国产精品人人爽夜夜爽 | 欧美啪啪一区二区 | 三级欧美在线观看 | 日韩精品一区在线视频 | 日韩美香港a一级毛片免费 国产综合av | 超碰一区二区三区 | 日本一区二区三区四区不卡视频 | 亚洲精品中文字幕乱码无线 | 午夜精品一区二区三区在线播放 | 免费看黄色一级视频 | www视频在线观看 | 99re在线视频 | 国产婷婷| 久久国产精品视频观看 | 国产精品美女在线观看 | 免费亚洲一区二区 | av国产精品 | 中文字幕亚洲欧美精品一区四区 | 亚洲视频免费 | 日韩在线不卡视频 | 国产精品1区 | 久久综合久久综合久久 | 四虎影院在线 | 日韩美香港a一级毛片免费 国产综合av | 亚洲aⅴ | a免费网站 | www,99热 | 精品久久久久久亚洲综合网 | 五月天婷婷丁香 | 久久人爽 | 亚洲欧美高清 | www.日韩视频 | 中文av在线免费观看 | av影片在线| 国产一区二区三区久久久 | 手机亚洲第一页 | 成人综合社区 | 欧美日韩视频一区二区 | 国产精品999 | 国产综合视频在线观看 | 国产精品夜夜春夜夜爽久久电影 | 日本久久精品视频 | 国产女人和拘做受在线视频 | 久久这里只有精品首页 | 四季久久免费一区二区三区四区 | 欧美xxxx片| 亚洲第一av网站 | 亚洲国产二区 | 97在线观看视频 | 91精品国产乱码久久久久久久久 | 日韩精品极品视频在线 | 精品一级| 999精品视频 | 日韩免费网站 | 一区二区三区免费视频网站 | 日韩成人中文字幕 | 亚洲黄色av网站 | 亚洲网站免费观看 | 91久久久久久久久 | 久久成人一区二区 | 国产精品久久国产愉拍 | 国产激情午夜 | 在线免费视频一区 | 亚洲天堂一区二区 | 二区视频| 国产精品一区二区三区四区 | 中文字幕精品一区 | 99久久精品一区二区成人 | 午夜精品久久久久久久白皮肤 | 国产精品国色综合久久 | 国产亚洲欧美在线 | 黄色片com | 欧美色性| 久久成人一区二区 | 久精品视频 | 日韩欧美久久 | 国产精品亚洲一区二区三区在线 | 久久成人一区二区 | 99这里只有精品 | 国产www视频 | 天天操操| 草久久久 | 天天操天天碰 | 欧美一级欧美三级在线观看 | 久久综合亚洲 | 免费国产一区二区 | 国产中文区二幕区2012 | 欧美精品久久久 | 国产3区 | 国产一级做a爰片在线看免费 | 久久精品视频免费 | av午夜电影 | 国产精品久久久久久久久久妇女 | 奇米成人 | www.国产.com | 在线中文字幕第一页 | 日本在线观看 | 成人亚洲 |