0
我試圖用鍵和值來計算數組中的「在線」一詞。php函數給出意想不到的輸出
function p($a){
function printAllVals($a, $val) {
if (!is_array($a)) {
if ($a == "online"){
$val+=1;
echo $val;
//echo $a <-- this prints online 5 times
}
return;
}
foreach($a as $k => $v) {
printAllVals($v, $val);
}
}
printAllVals($a, 0);
}
它打印 「在線」 5次迴盪$a
的時候,但是當$ VAL打印 「1」 的5倍。 似乎它調用函數時的原始值爲$val
。我做錯了什麼?
$ a是陣列和它像以下的(多維):
prod:
cluster:
csddb:
inst_1: online
inst_2: online
oiddb:
inst1: online
inst2: offline
local:
quoid:
inst_1: offline
inst_2: offline
qaprod:
inst_1: offline
inst_2: offline
很抱歉的不完整的問題。
什麼是您正在測試的輸入數據? –
@dragoste這是類似於下面的內容,但更長。 PROD: 集羣: csddb: inst_1:在線 inst_2:在線 oiddb: INST1:在線 INST2:下線 地方: quoid: inst_1:下線 inst_2:下線 qaprod: inst_1:下線 inst_2:離線 – TAS
請以適當的格式在您的文章中更新它。 –