婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】

PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】

熱門標(biāo)簽:辦理400電話哪家好點(diǎn) 咸陽(yáng)電銷 嘟嘟云外呼系統(tǒng) 南京3D地圖標(biāo)注 正規(guī)電銷機(jī)器人系統(tǒng) 南寧電話外呼系統(tǒng)線路 重慶外呼電銷系統(tǒng)多少錢 濟(jì)源百應(yīng)電銷機(jī)器人聯(lián)系方式 邢臺(tái)400電話辦理

本文實(shí)例總結(jié)了PHP 數(shù)組操作。分享給大家供大家參考,具體如下:

數(shù)組

數(shù)據(jù)由元素組成,元素由鍵和值組成

數(shù)組分類

關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組,元素的下標(biāo)與元素的值存在邏輯上的關(guān)系,稱之為關(guān)聯(lián)數(shù)組。指的是,鍵和值之間存在管理。

$a1 = array('name' => '李尋歡', 'age' => 34);  

索引數(shù)組
索引數(shù)組,元素的值和下標(biāo)不存在邏輯關(guān)系,而下標(biāo)只表示值索引位置。

$a1 = array('李尋歡',34);

數(shù)組遍歷

所要的完成遍歷數(shù)組,需要依次得到每個(gè)元素的信息(鍵的信息和值的信息).核心在于數(shù)組的元素指針上

數(shù)組的元素指針

每一個(gè)數(shù)組內(nèi)的,都有一個(gè)內(nèi)部的指向某個(gè)元素的指針。
默認(rèn)情況下,這個(gè)指針指向數(shù)組的第一個(gè)元素.
每個(gè)數(shù)組只有一個(gè)指針,同時(shí)時(shí)刻,只能指向一個(gè)元素,因此指針的位置,可以是任意一個(gè)已存在的元素。同時(shí)指針可能指向數(shù)組的外部(數(shù)組的末端[最后一個(gè)的外邊]),就是非法位置.

數(shù)組遍歷就是
獲得指針指向的元素的信息,移動(dòng)指針,配合循環(huán)結(jié)構(gòu)就可以完成。

php提供

  • 得到指針?biāo)赶虻脑氐男畔?/p>

  • 可以移動(dòng)指針

current(); 得到當(dāng)前指針指向元素的值
key(); 得到當(dāng)前指向元素的鍵
next(); 可以移動(dòng)數(shù)組的指針

prev(); 向上移動(dòng)一個(gè)元素.
reset(); 重置指針(移動(dòng)到第一個(gè)元素)
end(); 移動(dòng)到最右一個(gè)元素

數(shù)組末端,最右一個(gè)元素往右,非法的范圍

next(), 和prev(); 可以將數(shù)組指針移動(dòng)到非法位置上.

//$students 是數(shù)組
end($students);
next($students);
var_dump(current($students)); //false;

reset($students);
prev($students);
var_dump(current($students)); //false;

如果已經(jīng)移動(dòng)到非法位置,不可相對(duì)移動(dòng)來(lái)挽回,此時(shí),需要強(qiáng)制移動(dòng)到某個(gè)位置, reset() , 和 end()

//$students 是數(shù)組
end($students);
next($students);
prev($students);
var_dump(current($students)); //false;

reset($students);
prev($students);
next($students);
var_dump(current($students)); //false;

foreach()

foreach(); 結(jié)構(gòu)
專門用于數(shù)組遍歷的一個(gè)結(jié)構(gòu),也是一個(gè)循環(huán)結(jié)構(gòu)

foreach ( $arr as $key => $val ) {
  //循環(huán)體
}

如果元素的鍵,沒(méi)有意義的話,可以使用 省略鍵的信息

foreach ( $arr as $val ) {}

注意:

foreach會(huì)移動(dòng)數(shù)組指針,并且,在foreach遍歷完畢后,指針處于非法位置(數(shù)組末端)
foreach在遍歷一個(gè)數(shù)組元素時(shí),會(huì)初始化元素指針,因此指針?biāo)赶虻奈恢茫粫?huì)影響到foreach的遍歷
foreach在遍歷時(shí),原數(shù)組的拷貝,而不是直接在原數(shù)組進(jìn)行遍歷,如果在遍歷過(guò)程中,對(duì)遍歷的數(shù)組進(jìn)行修改,是不會(huì)影響到遍歷的結(jié)果
foreach所使用的保存元素值的變量,對(duì)其操作,不會(huì)對(duì)原數(shù)組產(chǎn)生影響
對(duì)值的操作,同時(shí)支持引用傳遞:可以改變?cè)瓟?shù)組的值。

只需要在變量前增加符號(hào) 即可。

foreach流程圖

foreach也是循環(huán)結(jié)構(gòu), 受break和continue的控制。

each()

遍歷每一個(gè)
可以獲得當(dāng)前的元素信息。(鍵和值),同時(shí)向下移動(dòng)指針
獲得元素信息,返回的是, 關(guān)聯(lián)和索引數(shù)組
其中:
關(guān)聯(lián)數(shù)組部分。

key => 當(dāng)前元素的鍵
value => 元素的值

索引數(shù)組部分

0 => 元素的下標(biāo)
1 => 元素的值

$arr = array(10, 12, 200);

$arr2 = array(
  'name' => 'zf',
  'age' => 20
);

var_dump(each($arr));
var_dump(each($arr2));

只遍歷第一項(xiàng)
由于each既可以獲取元素信息,又可以移動(dòng)指針,因此非常適合完成除foreach外的手動(dòng)的數(shù)組的遍歷.

each+while+list的遍歷數(shù)組

each如果指針?lè)欠ǎ琫ach返回false。 判斷each的返回值

// 先eaech,將each的結(jié)果賦給$element
// 判斷$element 是否成立(自動(dòng)轉(zhuǎn)成布爾類型)

while($element = each($sutdents)) {
  echo 'Key:', $element[0];
  echo '$nbsp;';
  echo 'Value:', $element[1];
  echo 'br/>';
}
  

list()
可以使在遍歷的循環(huán)體內(nèi)直接使用保存元素下標(biāo)的變量.直接使用保存元素下標(biāo)的變量和保存元素值的變量.
一個(gè)函數(shù),可以通過(guò)一個(gè)數(shù)組,針對(duì)多個(gè)變量同時(shí)初始化

  
$student = array('李尋歡', '天機(jī)老人', '阿飛');

list($a, $b, $c) = $student; // 將數(shù)組內(nèi)的元素, 以此賦值給list結(jié)構(gòu)中的變量  // 類似 es6 中的解構(gòu)賦值

var_dump($a, $b, $c);

list 針對(duì)索引數(shù)組生效

$student = array('李尋歡', '天機(jī)老人', '阿飛');

while (list($k, $v) = each($student)) {
  
  echo 'Key:', $k;
  
  echo 'nbsp;';
  
  echo 'Value:', $v;
  
  echo 'br/>';
  
};

數(shù)組復(fù)制元素指針

如果原數(shù)組指針合法:
數(shù)組在復(fù)制時(shí),指針位置也會(huì)隨之復(fù)制到目標(biāo)數(shù)組內(nèi).

$a1 = array('a', 'b', 'c');

$a2 = $a1;
var_dump(current($a2)); // a

echo 'hr/>';

$a1 = array('a', 'b', 'c');
next($a1);

$a2 = $a1;
var_dump(current($a2)); // b

如果原數(shù)組指針?lè)欠?
將重置新數(shù)組的指針; 重置為默認(rèn)指針.

$a1 = array('a', 'b', 'c');

end($a1);

next($a1);

$a2 = $a1;

var_dump(current($a2)); // a

foreach與數(shù)組指針關(guān)系

foreach對(duì)指針的影響有不確定性,因此不要依賴foreach遍歷后的指針位置,如果需要操作,需要先重置(reset();).

數(shù)組遍歷的是,原數(shù)組的拷貝,而不是直接在數(shù)組上進(jìn)行操作.
php內(nèi)部?jī)?yōu)化,寫時(shí)復(fù)制(COW--copy on write) .如果不對(duì)原數(shù)組執(zhí)行寫操作. 是不會(huì)發(fā)生復(fù)制的過(guò)程. 在對(duì)原數(shù)組進(jìn)行寫操作時(shí),這個(gè)復(fù)制的過(guò)程才會(huì)發(fā)生.
數(shù)組復(fù)制時(shí)的指針問(wèn)題

foreach遍歷的時(shí)候,是拷貝,但是發(fā)生在對(duì)原數(shù)組進(jìn)行操作之后.意味著,在寫操作之前,遍歷操作的就直接是原數(shù)組. 一旦發(fā)生了寫操作,則會(huì)形成一個(gè)真實(shí)的拷貝,foreach去遍歷的數(shù)組就與原數(shù)組不是同一個(gè). 因此原數(shù)組指針就不會(huì)繼續(xù)發(fā)生變化. 唯一的例外在最后一次循環(huán)體內(nèi)對(duì)數(shù)組進(jìn)行寫操作,此時(shí)在復(fù)制前指針已經(jīng)非法,則結(jié)果會(huì)被重置.

在實(shí)際操作中,建議處理完畢后,可以立即reset();
上面的問(wèn)題,只適用于$value ,保存元素值的變量是值傳遞的情況,如果是引用傳遞的話.直接操作原數(shù)組!
$key不能引用傳遞.

array函數(shù)

常用函數(shù)

array_fill(起始位置,長(zhǎng)度,內(nèi)容); //使用固定值填充某些數(shù)量的元素.
count(); //統(tǒng)計(jì)數(shù)組元素個(gè)數(shù). 支持遞歸統(tǒng)計(jì).
range(起始范圍,結(jié)束范圍); //按照范圍創(chuàng)建數(shù)組元素.
array_merge(); //合并多個(gè)數(shù)組.

// 注意一個(gè)下標(biāo)沖突的情況,如果索引下標(biāo)沖突,順序增加.
// 關(guān)聯(lián)數(shù)組沖突. 后合并的要覆蓋前面的.
array_merge(range('a','z'),range('A','Z'));

array_rand(數(shù)組,選擇的數(shù)量[默認(rèn)一個(gè)]); //隨機(jī)從數(shù)組中取得某些元素. 得到的是隨機(jī)的下標(biāo),而不是元素值. 并且,如果是多個(gè)元素,會(huì)按照下標(biāo)的大小進(jìn)行排序.

shuffe(); //打亂元素順序,參數(shù)是引用傳遞.

// 驗(yàn)證碼中的 4位 隨機(jī)數(shù)

// 創(chuàng)建一個(gè)大小混合的數(shù)組
$chars = array_merge(range('a','z'),range('A','Z'));

// 取得4個(gè)元素下標(biāo)

$rand_keys = array_rand($chars, 4);

// 打亂
shuffle($rand_keys);

// 利用下標(biāo)獲取元素值
foreach ($rand_keys as $v) {
  echo $chars[$v];
}
  

鍵值操作

array_value(); //取得所有元素的所有值.
array_key(); //取得所有元素的所有鍵.

array_combine(); // 利用兩個(gè)數(shù)組,其中一個(gè)為 鍵 ,另一個(gè)為值得到一個(gè)新數(shù)組.
in_array(); //判斷數(shù)組中是否有某個(gè)值
array_key_exists(); //是否有某個(gè)元素.

array_search(); // 在數(shù)組內(nèi)查找某個(gè)元素值,找到返回 下標(biāo). 找不到返回false.
array_filp(); // 交換元素的鍵和值.

合并拆分

'+'號(hào)

$a1 = array(1, 2, 3, 4);
$a2 = array(6, 7, 8);
var_dump($a1+$a2); // 如果出現(xiàn)下標(biāo)沖突,則忽略后邊的元素

array_merge($arr1, $arr2); // 合并多個(gè)數(shù)組.
array_chunk($arr, len); //按照子數(shù)組的長(zhǎng)度,進(jìn)行對(duì)原數(shù)組拆分.

explode(); //將一個(gè)字符串,按照某個(gè)字符,分割成多個(gè)部分.
implode(); //可以將數(shù)組元素的值, 利用某個(gè)字符,連接

$arr = array('aa', 'bb');

echo $arr = implode('-', $arr); // aa-bb

print_r(explode('-', $arr));

compact(); 合并, 利用多個(gè)變量,合并成一個(gè)數(shù)組. 其中變量的名字作為數(shù)組的下標(biāo). 變量的值,作為值. 注意參數(shù)是變量名

$width = 2;
$height = 10;

$arr = compact('width', 'height');

extact(); 拆分,將一個(gè)變量,拆分成一個(gè)變量。每一個(gè)元素為一個(gè)變量。 下標(biāo)為變量名,值為變量值. 字符串的下標(biāo).
注意,如果當(dāng)前已經(jīng)存在變量名,則會(huì)發(fā)生將已有變量值替換的操作.這個(gè)是默認(rèn)行為.可以修改,通過(guò)extact(),第二個(gè)參數(shù). 默認(rèn)為EXTR_OVERWRITE表示重寫 //EXTR_SKIP 表示略過(guò).

array_diff(數(shù)組1,數(shù)組2); // 得到數(shù)組1中與數(shù)組2中不相同的元素. -- 差集 值判斷.
array_intersect(數(shù)組1,數(shù)組2);// 得到數(shù)組1中與數(shù)組2中相同的元素. --交集.

array_map($callback, $arr1); // 對(duì)數(shù)組內(nèi)的每個(gè)元素,進(jìn)行一次操作.分別調(diào)用某個(gè)函數(shù)進(jìn)行一次調(diào)用.
如果函數(shù)是自定義的.
注意,應(yīng)該有參數(shù)接收元素值,同時(shí)應(yīng)該有返回值

$a1 = array(10, 20, 3);

function x2 ( $item ) {
  return $item * 3;
}

$arr = array_map('x2', $a1);

var_dump($arr);

只負(fù)責(zé)定義,不負(fù)責(zé)調(diào)用. array_map(); 函數(shù)內(nèi)部負(fù)責(zé)調(diào)用.
可以同時(shí)接收或處理.是統(tǒng)一操作,一次將所有數(shù)組相同位置都操作一遍,而不是逐一操作. 因此該函數(shù)所接受的參數(shù)個(gè)數(shù),與所傳遞的數(shù)組的數(shù)量應(yīng)該一致.
有一個(gè)默認(rèn)操作,非常常用,利用多個(gè)數(shù)組,組合成一個(gè)新數(shù)組。要求,函數(shù)位置傳遞一個(gè)null.

$names = array('z1', 'z2', 'z3');

$maths = array(50, 40, 60);

$score = array_map(null, $names, $maths);

var_dump($score);

回調(diào)函數(shù)的使用-模擬數(shù)據(jù)結(jié)構(gòu)函數(shù)-排序函數(shù)


array_walk($funcname);
針對(duì)一個(gè)數(shù)組的每個(gè)元素進(jìn)行操作,與array_map的不同點(diǎn).

  • array_map() 可以操作多個(gè)數(shù)組,而array_walk(); 只可以操作一個(gè)數(shù)組.

  • array_map(); 只可以得到元素值,而array_walk(); 即可以得到元素值,還可以得到元素的鍵.

  • 可以對(duì)函數(shù)的第一個(gè)參數(shù)進(jìn)行引用傳遞,達(dá)到修改的原有數(shù)組的目的.

$names = array('aa', 'bb', 'cc');

function fn1 ( $val,$key ) {
  var_dump($val,$key);
}

array_walk($names, 'fn1');

模擬數(shù)據(jù)結(jié)構(gòu)

入棧 array_push();
出棧 array_pop();
// 每次操作后,索引都會(huì)重新索引.

頂端出: array_shift();
頂端入: array_unshift();

排序函數(shù)

soft(); 按照值升序
rsoft() 按照值降序
ksoft()按照鍵升序
krsoft(); 按照鍵降序
// 值排序,不會(huì)保留鍵值關(guān)系,而鍵排序會(huì)保留鍵值關(guān)系.
// 按照值排序,同時(shí)保留鍵值關(guān)系.

asort(); 按照值,升序,保留鍵值關(guān)聯(lián).
arsort(); 按照值,降序,保留鍵值關(guān)聯(lián).

key,鍵
reverse(): 反序,默認(rèn)是升序.
association: 關(guān)聯(lián)

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP數(shù)組基本用法與知識(shí)點(diǎn)總結(jié)
  • php數(shù)組指針函數(shù)功能及用法示例
  • PHP查找一列有序數(shù)組是否包含某值的方法
  • php數(shù)組函數(shù)array_push()、array_pop()及array_shift()簡(jiǎn)單用法示例
  • PHP字符串與數(shù)組處理函數(shù)用法小結(jié)
  • PHP實(shí)現(xiàn)二維數(shù)組(或多維數(shù)組)轉(zhuǎn)換成一維數(shù)組的常見(jiàn)方法總結(jié)
  • PHP實(shí)現(xiàn)提取多維數(shù)組指定一列的方法總結(jié)
  • php實(shí)現(xiàn)快速對(duì)二維數(shù)組某一列進(jìn)行組裝的方法小結(jié)
  • PHP數(shù)組對(duì)象與Json轉(zhuǎn)換操作實(shí)例分析
  • 如何在PHP中使用數(shù)組

標(biāo)簽:黃山 武漢 通遼 南通 平頂山 隴南 河南 唐山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】》,本文關(guān)鍵詞  PHP,數(shù)組,操作,詳解,遍歷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产福利精品一区| 亚洲一区二区精品视频| 国产精品视频在线看| 亚洲制服丝袜av| 色屁屁一区二区| 亚洲人成网站在线| 97国产一区二区| 亚洲精品国产视频| 在线免费观看日韩欧美| 有坂深雪av一区二区精品| 一本一道久久a久久精品| 亚洲欧美色一区| 欧美性感一区二区三区| 亚洲成人免费影院| 欧美电影免费观看高清完整版在线观看 | 亚洲精品成a人| 91福利视频在线| 国产 日韩 欧美大片| 中文一区二区在线观看| 色婷婷精品大在线视频| 欧美精品丝袜久久久中文字幕| 久久不见久久见免费视频7| 国产欧美精品一区二区三区四区| 欧美色图激情小说| 国产精一品亚洲二区在线视频| 美国欧美日韩国产在线播放| 免费观看成人av| 91精品国产综合久久蜜臀| 91精品国产综合久久久蜜臀图片| 亚州成人在线电影| 欧美电影一区二区三区| 国产精品久久毛片| 国产成人在线免费观看| 欧美男人的天堂一二区| 奇米影视一区二区三区小说| a美女胸又www黄视频久久| 日韩中文字幕一区二区三区| 日韩一区二区免费在线电影| 中文字幕av一区 二区| 国产成人99久久亚洲综合精品| 欧美一区二区三区思思人| 欧美精品一区二| 亚洲日本电影在线| 国产欧美日韩不卡| 国产激情一区二区三区| 91麻豆精品国产无毒不卡在线观看 | 欧美人成免费网站| 婷婷开心久久网| 国产一区二区三区四区五区美女| 91视频观看视频| 欧美日韩一区成人| 亚洲乱码国产乱码精品精小说| 亚洲免费观看在线观看| 久久99精品国产麻豆不卡| 欧美日韩精品电影| 欧美国产精品中文字幕| 日韩午夜在线观看| 久久久久国产精品厨房| 麻豆成人久久精品二区三区红 | 懂色av一区二区三区蜜臀| 亚洲激情图片小说视频| 国产精品成人免费精品自在线观看| 欧美老肥妇做.爰bbww视频| 日本一区免费视频| 一区二区在线观看免费| 欧美丝袜丝交足nylons图片| 在线视频你懂得一区| 国产一区二区伦理| 在线成人av影院| 国产精品99久久久久久似苏梦涵| 精品在线免费观看| 成人美女在线视频| 在线精品亚洲一区二区不卡| 亚洲成人福利片| 日韩国产高清在线| 日韩福利电影在线| 久久99国产精品免费网站| 三级久久三级久久久| 青草国产精品久久久久久| 日韩在线一二三区| 岛国一区二区在线观看| 欧美一二三四在线| 国产精品激情偷乱一区二区∴| 夜色激情一区二区| 91小宝寻花一区二区三区| 国产经典欧美精品| 欧美日韩大陆在线| 欧美变态tickling挠脚心| 精品视频在线免费看| 国产色婷婷亚洲99精品小说| 久久久99精品免费观看| 国产欧美精品一区| 亚洲五月六月丁香激情| 亚洲免费观看在线观看| 九九久久精品视频| 国产成人日日夜夜| 91在线云播放| 国产色综合久久| 日本不卡视频一二三区| av不卡一区二区三区| 日韩欧美激情在线| 国产自产2019最新不卡| 99久精品国产| 亚洲一区在线观看免费观看电影高清| 欧美亚洲丝袜传媒另类| 亚洲视频1区2区| 99国产精品久久久久| 91高清视频在线| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧美一区二区三区国产精品| 国产成人夜色高潮福利影视| 久久精品欧美一区二区三区不卡 | 亚洲成人你懂的| 欧美日韩国产综合一区二区三区| 国产欧美一区二区精品秋霞影院 | 国产91在线|亚洲| 久久精品人人做| 91网站视频在线观看| 欧美高清在线视频| 欧美午夜电影网| 欧美一区二区三区视频在线 | 亚洲线精品一区二区三区八戒| 亚洲综合在线视频| 欧美一级电影网站| 亚洲午夜久久久久久久久电影网| 欧美老女人在线| 国产麻豆一精品一av一免费| 久久精品一二三| 在线日韩av片| 五月婷婷综合在线| 91福利视频网站| 日韩av在线播放中文字幕| 亚洲免费观看高清| 成年人午夜久久久| 国产成人超碰人人澡人人澡| 日韩精品一区二区三区在线| 99综合电影在线视频| 日本在线不卡视频一二三区| 亚洲欧洲av另类| 亚洲国产精品综合小说图片区| 午夜精品久久久久| 国产日产欧美精品一区二区三区| 欧洲一区二区三区免费视频| 美国毛片一区二区三区| 亚洲欧美日韩国产手机在线| 国产精品原创巨作av| 欧美剧在线免费观看网站| 成人av高清在线| 亚洲美腿欧美偷拍| 久久久一区二区三区捆绑**| 色综合久久久久综合体| 国产成人无遮挡在线视频| 国产精品美女www爽爽爽| 国产欧美精品日韩区二区麻豆天美| 国产精品久久久久久久久果冻传媒 | 日本免费新一区视频| 国产精品自在欧美一区| 奇米色777欧美一区二区| 另类综合日韩欧美亚洲| 一区二区激情小说| 首页亚洲欧美制服丝腿| 天堂一区二区在线免费观看| 国产偷国产偷亚洲高清人白洁 | 国产不卡视频在线播放| 久久99久久精品| 一区二区欧美国产| 全部av―极品视觉盛宴亚洲| 国产夫妻精品视频| 国产suv精品一区二区883| 国产精品免费久久| 天堂影院一区二区| 麻豆专区一区二区三区四区五区| 亚洲国产视频a| 成人av网址在线| 3d成人h动漫网站入口| 亚洲高清一区二区三区| 国产精品99久久不卡二区| 欧美日韩一二三| 337p亚洲精品色噜噜噜| 五月婷婷久久丁香| 久久不见久久见中文字幕免费| 欧美日韩精品一区二区三区蜜桃 | 国产综合色视频| 日本韩国欧美国产| 亚洲欧美国产高清| 色婷婷av一区二区三区gif | 天天色天天操综合| 精品一区二区综合| 一本到不卡精品视频在线观看| 日韩码欧中文字| 日本91福利区| 欧美日韩美女一区二区| 亚洲愉拍自拍另类高清精品| 国产91精品欧美| 国产精品久久一卡二卡| 成人高清视频在线| 26uuu另类欧美| 亚洲一级二级三级在线免费观看| 国产91对白在线观看九色| 久久婷婷国产综合精品青草|