我的下一個問題,我有這樣的多維數組:PHP - 問題與函數的返回和多維數組
Array
(
[0] => Array
(
[0] => Array
(
[start_date] => 2016-07-14 07:00
[end_date] => 2016-07-14 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-14 07:20
[end_date] => 2016-07-14 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-14 07:40
[end_date] => 2016-07-14 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-14 08:00
[end_date] => 2016-07-14 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-14 08:15
[end_date] => 2016-07-14 08:30
[type] => 3
)
)
[1] => Array
(
[0] => Array
(
[start_date] => 2016-07-15 07:00
[end_date] => 2016-07-15 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-15 07:20
[end_date] => 2016-07-15 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-15 07:40
[end_date] => 2016-07-15 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-15 08:00
[end_date] => 2016-07-15 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-15 08:15
[end_date] => 2016-07-15 08:30
[type] => 3
)
)
[2] => Array
(
[0] => Array
(
[start_date] => 2016-07-18 07:00
[end_date] => 2016-07-18 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-18 07:20
[end_date] => 2016-07-18 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-18 07:40
[end_date] => 2016-07-18 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-18 08:00
[end_date] => 2016-07-18 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-18 08:15
[end_date] => 2016-07-18 08:30
[type] => 3
)
)
[3] => Array
(
[0] => Array
(
[start_date] => 2016-07-19 07:00
[end_date] => 2016-07-19 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-19 07:20
[end_date] => 2016-07-19 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-19 07:40
[end_date] => 2016-07-19 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-19 08:00
[end_date] => 2016-07-19 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-19 08:15
[end_date] => 2016-07-19 08:30
[type] => 3
)
)
[4] => Array
(
[0] => Array
(
[start_date] => 2016-07-20 07:00
[end_date] => 2016-07-20 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-20 07:20
[end_date] => 2016-07-20 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-20 07:40
[end_date] => 2016-07-20 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-20 08:00
[end_date] => 2016-07-20 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-20 08:15
[end_date] => 2016-07-20 08:30
[type] => 3
)
)
[5] => Array
(
[0] => Array
(
[start_date] => 2016-07-21 07:00
[end_date] => 2016-07-21 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-21 07:20
[end_date] => 2016-07-21 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-21 07:40
[end_date] => 2016-07-21 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-21 08:00
[end_date] => 2016-07-21 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-21 08:15
[end_date] => 2016-07-21 08:30
[type] => 3
)
)
[6] => Array
(
[0] => Array
(
[start_date] => 2016-07-22 07:00
[end_date] => 2016-07-22 07:20
[type] => 2
)
[1] => Array
(
[start_date] => 2016-07-22 07:20
[end_date] => 2016-07-22 07:40
[type] => 2
)
[2] => Array
(
[start_date] => 2016-07-22 07:40
[end_date] => 2016-07-22 08:00
[type] => 2
)
[3] => Array
(
[start_date] => 2016-07-22 08:00
[end_date] => 2016-07-22 08:15
[type] => 3
)
[4] => Array
(
[start_date] => 2016-07-22 08:15
[end_date] => 2016-07-22 08:30
[type] => 3
)
)
)
另外,我有以下功能:
public function transformValue($array = [], $level = 1) {
$return = [];
foreach($array as $key => $value){
if(is_array($value)){
$this->transformValue($value, $level + 1);
} else{
$return[$key] = $value;
}
}
return $return;
}
此函數接收這個多陣列作爲參數,因爲我需要按如下規範化它:
Array
(
[start_date] => 2016-07-14 07:00
[end_date] => 2016-07-14 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-14 07:20
[end_date] => 2016-07-14 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-14 07:40
[end_date] => 2016-07-14 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-14 08:00
[end_date] => 2016-07-14 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-14 08:15
[end_date] => 2016-07-14 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-15 07:00
[end_date] => 2016-07-15 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-15 07:20
[end_date] => 2016-07-15 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-15 07:40
[end_date] => 2016-07-15 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-15 08:00
[end_date] => 2016-07-15 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-15 08:15
[end_date] => 2016-07-15 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-18 07:00
[end_date] => 2016-07-18 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-18 07:20
[end_date] => 2016-07-18 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-18 07:40
[end_date] => 2016-07-18 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-18 08:00
[end_date] => 2016-07-18 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-18 08:15
[end_date] => 2016-07-18 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-19 07:00
[end_date] => 2016-07-19 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-19 07:20
[end_date] => 2016-07-19 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-19 07:40
[end_date] => 2016-07-19 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-19 08:00
[end_date] => 2016-07-19 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-19 08:15
[end_date] => 2016-07-19 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-20 07:00
[end_date] => 2016-07-20 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-20 07:20
[end_date] => 2016-07-20 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-20 07:40
[end_date] => 2016-07-20 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-20 08:00
[end_date] => 2016-07-20 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-20 08:15
[end_date] => 2016-07-20 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-21 07:00
[end_date] => 2016-07-21 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-21 07:20
[end_date] => 2016-07-21 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-21 07:40
[end_date] => 2016-07-21 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-21 08:00
[end_date] => 2016-07-21 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-21 08:15
[end_date] => 2016-07-21 08:30
[type] => 3
)
Array
(
[start_date] => 2016-07-22 07:00
[end_date] => 2016-07-22 07:20
[type] => 2
)
Array
(
[start_date] => 2016-07-22 07:20
[end_date] => 2016-07-22 07:40
[type] => 2
)
Array
(
[start_date] => 2016-07-22 07:40
[end_date] => 2016-07-22 08:00
[type] => 2
)
Array
(
[start_date] => 2016-07-22 08:00
[end_date] => 2016-07-22 08:15
[type] => 3
)
Array
(
[start_date] => 2016-07-22 08:15
[end_date] => 2016-07-22 08:30
[type] => 3
)
我的問題:當我調用我的函數並分配給一個變量時,看起來該函數沒有給該變量賦值,但是如果我檢查函數的返回值print_r()顯示了我們需要的值。我應該跳過的東西,我需要一個「推」來繼續。這樣就可以用函數返回來聲明變量:
$return_value_function = [];
$return_value_function = $this->transformValue($array_values);
變量$ return_value_function不保存函數返回值。我的錯誤在哪裏?
'$這 - > transformValue($值,$水平+ 1):
而這種輸出通過將以下代碼返回? –
我沒有得到'$ level'用於什麼。 – Chay22
@ Chay22 $ level用於確定數組的深度,該函數是遞歸的。 – Ale