我知道我的標題是相當矛盾的,但如果你負我,你會發現它並沒有那麼糟糕:PPHP中的數組的foreach鍵引用變量
我有一個類方法得到完全不同的數據庫字段,並根據這些字段構建一個數組(每個鍵都將另一個級別添加到數組中)。
現在,這是最簡單的部分。我還有一個校正功能,可以統一一些人口統計數據造成的成本。問題是我需要解決修正公式中的正確級別。
我試着做一個例子: 我問A字段,年份,B,C,D和D的校正公式取決於年份和C.我已經正式確定了,所以C和D總是最後一個列出來,但問題是,我該如何解決這一年,以便我能得到像[A][year][B]=function(year,c,d)
這樣的答案。這些字段是在陣列($retr['fields']=array("A","year","B","C")
(結果d自動附帶)
我試圖使用的foreach像
$retr['fields']=array("A","year","B","C")
$temp=get_data($retr);
foreach($temp as $${$retr['fields'][0]} => $yd)
foreach ($yd as $${$retr['fields'][1]} => $cd) {
$output[$${$retr['fields'][0]}][$${$retr['fields'][1]}]=0;
foreach ($cd as $a => $v)
$output[$${$retr['fields'][0]}][$${$retr['fields'][1]}]+=$v*$act[$year][$a]
等,但似乎一個不能使用的變量的變量作爲密鑰在foreach(或者我得到的語法錯誤)。就像現在它只是說「未定義的變量:年」
你有什麼想法如何表達我所需要的?
'$輸出[$$ {$ RETR [ '字段'] [0]}] [ $$ {$ retr ['fields'] [1]}] + = $ v * $ act [$ year] [$ a];' - 不知道您要在那裏做什麼。也許顯示更多的代碼可以幫助澄清一點嗎? –
這是爲了使代碼更具可讀性。我嘗試返回一個數組,其中第一級關鍵字是字段A的值,第二級是年,並且該值是年份和最後兩個字段的函數。這將是非常容易的,如果一年總是第二級,但因爲它不是東西變得雜亂...... –