簡體   English   中英

in_array()不返回所有結果

[英]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

環:

  1. 迭代用戶
  2. 通過使用str_getcsv拆分時間字符串,為每個用戶創建數組$timemarks_arr str_getcsv
  3. 回顯具有指定時間標記值的用戶
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM