我檢查了幾個類似的問題,如this,this和this,但仍然不清楚,我可以通過深層嵌套數組內的操作獲得穩固的值,而不是調用函數或分配變量?作爲數組值的函數結果
作爲示例下面以在$arr['row']
第一位置插入取決於$s
:
$s = true; //or false;
$arr = [
'key1'=>'val1',
'key2'=>'val2',
'row'=>[
function($s){
if($s) return array('x'=>'y',...);
else return null;
},
[
'row2a'=>'val2a',
'row2b'=>'val2b',
],
[
'row3a'=>'val3a',
'row3b'=>'val3b',
],
],
];
// Output:
Array(
...
[row] => Array
(
[0] => Closure Object
(
[parameter] => Array
(
[$s] =>
)
)
[1] => Array
(
[row2a] => val2a
[row2b] => val2b
)
...
在$arr['row'][0]
得到Closure Object
不array('x'=>'y',...)
。或者無法通過數組中的操作獲取值,但調用函數或傳遞變量?謝謝。
我不知道爲什麼你不能簡單地執行這個函數在數組創建之外,並將結果放在需要它的地方?你是否有什麼特別的理由想要擁有這樣的結構? –
它已經在功能和我有更多的地方像這樣的,意味着我需要只有幾碼之外創建更多的功能來獲取值.. – James