色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php distinct 用法

吉茹定1年前8瀏覽0評論

在PHP中,distinct是一種很常用的運算符。該運算符常常被用在MySQL查詢中,用于去重查詢。

舉個例子,我們有一個名為students的表,其中有3個字段:id、name和age。其中,id是主鍵,并且有重復項。如下:

id    name    age
------------------
1     Jack    18
2     John    19
1     Jack    18
3     Rose    20
2     John    19

現在我們需要對這個表進行去重查詢,例如查詢名字為“Jack”的學生人數:

SELECT COUNT(DISTINCT id) FROM students WHERE name='Jack';

這個查詢語句的結果是2,而不是3,因為DISTINCT關鍵字保證了每個id值只計算一次。

除了在查詢語句中使用DISTINCT關鍵字外,我們還可以使用PHP的array_unique()函數實現數組去重,例如:

$arr = array(1, 2, 1, 3, 2);
$arr_unique = array_unique($arr);
print_r($arr_unique);    //輸出Array ( [0] =>1 [1] =>2 [3] =>3 )

在這個例子中,我們首先聲明了一個數組$arr,其中有重復的元素。然后我們調用array_unique()函數去重,并將結果賦值給$arr_unique。最后我們使用print_r()函數查看結果。

需要注意的是,array_unique()函數只能用于對索引數組去重,無法用于關聯數組。如果需要對關聯數組去重,我們可以使用array_map()函數實現,例如:

$arr = array("name" =>"Jack", "age" =>18, "email" =>"jack@example.com", "age" =>19);
$arr_unique = array_map("unserialize", array_unique(array_map("serialize", $arr)));
print_r($arr_unique);    //輸出Array ( [name] =>Jack [age] =>19 [email] =>jack@example.com )

在這個例子中,我們首先聲明了一個關聯數組$arr,其中有重復的元素。然后我們使用array_map("serialize", $arr)將所有元素序列化為字符串,并使用array_unique()函數將這些字符串去重。然后我們再使用array_map("unserialize", $arr_unique)將所有元素反序列化還原成原始的關聯數組。最后我們使用print_r()函數查看結果。

總之,distinct是一種非常實用的運算符,在需要進行去重查詢的場合下可以節省大量的編程工作。在使用PHP的array_unique()函數去重時,需要注意數組類型的限制,并且需要使用array_map()函數來處理關聯數組的情況。