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}");
나는 $ positiveCount 함수에 참조로 전달에 withing에를 증가 될 것으로 예상.
이 참조에 의해
$ php plusMinusNotWorking.php
4
1 2 0 -1
In positive : 0
In positive : 1
Total Count : -1
패스는 여기에 작동하지 않을 것 같다, 내 출력 . 익명의 함수를 사용하고 있기 때문입니까? 내 예상 출력은 당신이 당신의 array_walk() 함수에
$positiveCount = -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