[英]in_array() doesn't return all results
名為users
的數據庫表具有列時間timemarks
。
所述timemark
字段看起來像這樣.. 11:00:00, 13:45:00, 17:00:00, 18:25:00
(時間標記為每個用戶而異)
我的php腳本應該列出具有指定時間標記的用戶。
查詢: SELECT * FROM ('users')
(查詢結果返回給$users
)
環:
- 迭代用戶
- 通過使用
str_getcsv
拆分時間字符串,為每個用戶創建數組$timemarks_arr
str_getcsv
- 回顯具有指定時間標記值的用戶
foreach ($users as $user):
$timemarks_arr = str_getcsv($user->timemarks); //split time-marks by comma and create array
if (in_array("17:00:00", $timemarks_arr)) //users with specified time-mark
{
echo $entry->username . "<br />";
}
endforeach;
出於某種原因,它只回復了2個用戶,但時間標記為17:00:00
。 有誰知道為什么?
它不會匹配像17:00:00
這樣的值,因為它有一個領先的空間。
試試這個從字符串的開頭和結尾去除所有空格:
$timemarks_arr = array_map( "trim", str_getcsv($user->timemarks)); //split time-marks by comma and create array
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.