1
在下面的代碼中formatDates()方法不返回任何東西,但是當我在getMeetData()中做一個var_dump時,日期被格式化了。爲什麼是這樣?我一直認爲,由於變量範圍內的操作發生在一個方法內的變量保持在該方法&不會影響任何方法以外的變量。以另一種方法影響變量的PHP方法操作
我很明顯誤解了一些東西&在我的搜索中找不到任何有用的東西,但我懷疑其中一部分原因是我真的不知道如何短語搜索詞。
public function getMeetData($limit = NULL){
$meet_data = $this->retrieve_meets->retrieveBasicMeetData($limit);
$this->formatDates($meet_data);
var_dump($meet_data);
}
protected function formatDates($meet_data){
foreach($meet_data as $key => $value){
$meet_data[$key]->start_date = date("d/m/Y", strtotime($value->start_date));
$meet_data[$key]->end_date = date("d/m/Y", strtotime($value->end_date));
}
}
我已經把從getMeetData()一個的var_dump的結果,但無formatDates打電話(我評論$這個 - > formatDates($ meet_data);明)如下:
array (size=5)
0 =>
object(stdClass)[76]
public 'title' => string 'Meeting' (length=22)
public 'slug' => string 'meeting-november-2015' (length=36)
public 'start_date' => string '2015-10-30' (length=10)
public 'end_date' => string '2015-10-30' (length=10)
public 'activities' =>
array (size=1)
0 => string 'Meeting' (length=7)
下面是從上面而是以formatDates調用(使用相同的數據結果)
array (size=5)
0 =>
object(stdClass)[76]
public 'title' => string 'Meeting' (length=22)
public 'slug' => string 'meeting-november-2015' (length=36)
public 'start_date' => string '30/10/2015' (length=10)
public 'end_date' => string '30/10/2015' (length=10)
public 'activities' =>
array (size=1)
0 => string 'Meeting' (length=7)
我明白了,我只是假設他們像變數一樣傳遞。儘管現在你已經指出了它,但通過引用傳遞它們更有意義。 –
有趣,下一行你發佈的是'這不完全正確.'。 – Sean
@肖恩你能詳細說一下嗎?即使這只是一些關於要查找什麼的筆記。 –