0
入力文字列内の正の値の数を数えようとしています。だから、私は、配列を配列 関数から外部変数にアクセスする
- だとnumが、私は、foreachループを使用する場合これは正常に動作します
正であるかどうかを確認します。
しかし、私は標準array functionsを使用してこれを動作させようとしています。
$handle = fopen("php://stdin","r");
$positiveCount = -1;
fscanf($handle, "%d", $nums);
$arrayString = fgets($handle);
$array = explode(" ", $arrayString);
array_walk($array, function($num, &$positiveCount){
if($num>0){
print("In positive : {$positiveCount}\n");
$positiveCount++;
}
});
print("Total Count : {$positiveCount}");
私は、関数への参照として渡されたとしてwithingをインクリメントすることが$ positiveCountを期待。
これは私出力され、参照することにより
$ php plusMinusNotWorking.php
4
1 2 0 -1
In positive : 0
In positive : 1
Total Count : -1
パスは、ここでは機能していないようです。私は匿名の関数を使用しているからですか?私の予想出力は
$ php plusMinusNotWorking.php
4
1 2 0 -1
In positive : 1
In positive : 2
Total Count : 2
ありがとうございます。私はこの使用法を見てきましたが、ドキュメントを理解しようとしていました。この質問にはさらに多くの情報があります。 http://stackoverflow.com/questions/6320521/use-keyword-in-functions-php –
ようこそ)、はい、非常に有用な投稿です。 – SajeshBahing