我有一個從我運行的SQL查詢生成的數組。它看起來像下面這樣:來自陣列中的列的唯一值
$arr[$i]['id'] = $id;
$arr[$i]['name'] = $name;
$arr[$i]['email'] = $email;
如何從電子郵件列中獲取唯一值?我很感激幫助。
我有一個從我運行的SQL查詢生成的數組。它看起來像下面這樣:來自陣列中的列的唯一值
$arr[$i]['id'] = $id;
$arr[$i]['name'] = $name;
$arr[$i]['email'] = $email;
如何從電子郵件列中獲取唯一值?我很感激幫助。
要麼使用DISTINCT方法在MySQL在列中篩選,或者使用類似
$uniqueEmails = array();
foreach($arr as $array)
{
if(!in_array($array['email'], $uniqueEmails)
$uniqueEmails[] = $array['email'];
}
如果你從SQL通過電子郵件排序列表中,您可以通過數組循環像加雷確實提高性能,而只是將當前電子郵件地址與上次插入的電子郵件地址進行比較。下面是這一個代碼示例:
$uniqueEmails = array();
$lastemail = '';
foreach($arr as $array)
{
if($array['email'] != $lastemail)
{
$uniqueEmails[] = $array['email'];
$lastemail = $array['email'];
}
}
自PHP 5.5,一個名爲array_column()新的功能也可。 你可以用它下列方式:
$allEmails = array_column($arr, 'email');
$uniqueEmails = array_unique($allEmails);
請告訴我們您所搜索的相關主題。 – Kermit
爲什麼不過濾你的SQL查詢? – cheesemacfly
^我無法在SQL上篩選我正在做什麼? ^^我需要立即解決。抱歉 – scriptdiddy