0
私は、キーと値を持つ配列で単語 "オンライン"を数えようとしています。 $a
をエコー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回が、$ 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
あなたの投稿で適切な形式で更新してください。 –