2014-09-02 126 views
0

我正在使用函數來遍歷數組,並獲取具有「weekday_time_start」和「weekday_time_end」數組索引的值。我寫了一個應該這樣做的函數,但它似乎沒有正常工作。任何人都可以請幫我把這個弄明白。這是迄今爲止需要使用foreach使用關聯數組的幫助

Value of the the $cat_time_array 

array(
['weekday_time_start'] => 
'07:30 AM' 
['weekday_time_end'] => 
'10:45 PM' 
['weekend_time_start'] => 
['weekend_time_end'] => 
) 


public function SetWeekdayCategoryVisibility($cat_time_array){ 


    foreach ($cat_time_array as $key=>$value){ 


     if($key == "weekday_time_start"){ 
      $weekday_start = $value; 
     } 

     if($key == "weekday_time_end"){ 
      $weekday_end = $value; 
     } 


     $this->CompareTimes($weekday_start,$weekday_end); 
     } 

} 
+0

什麼是預期的輸出? – bksi 2014-09-02 02:04:37

+0

另外,當您使用關聯數組時,不能使用相同的鍵兩次。 (這是你的數組輸出) – bksi 2014-09-02 02:05:12

+1

爲什麼不只是'$ this-> CompareTimes($ cat_time_array ['weekday_time_start'],'cat_time_array ['weekday_time_end']);' – 2014-09-02 02:06:37

回答

1

您應該將呼叫轉移到CompareTimes到外循環。

但你並不需要的循環可言,並且使用它,而違背了擺在首位的關聯數組的目的:

$this->CompareTimes($cat_time_array["weekday_time_start"], 
        $cat_time_array["weekday_time_end"]); 
+1

偉大的思想和我們的想法一樣,我們的也是如此 – 2014-09-02 02:07:28

+0

@Mark Reed。非常感謝答覆。達貢給了我同樣的解決方案。我無法相信我錯過了簡單的解決方案。使用數組時,我有foreach卡在我的頭上。 – eldan221 2014-09-02 02:15:51

+0

我在技術上張貼了我的答案,不到一分鐘之前Dagon發表了他的評論,但正如他所說,偉大的思想 - 也是我們的。 :)如果對你有用,請接受我的回答。 – 2014-09-02 12:40:16