2014-02-25 1 views

답변

2

범위의 문제입니다.function_call()에 의해 생성 된 임시 변수는 이어야합니다 (가비지 수집기가 PHP에서 작동하는 방식은 100 %가 아니지만 루프가 끝날 때 99 % 메모리가 해제됩니다) loop이 끝나면은 버려야합니다. $values은 더 오래 살 수 있습니다.

루프보다 오래 걸릴 필요가 있는지 여부는 문제입니다. 그렇지 않다면 unset($values)을 루프 후 수동으로 (또는 더 이상 필요하지 않을 때) 또는 루프의 함수 호출로 사용하십시오.

$values이 약간의 메모리를 필요로하고 루프 외부에 필요하지 않은 경우 첫 번째 변형을 찾으십시오. 함수 이름이 의미가있는 한 가독성 문제는 아닙니다.

PS : 우리는 때때로 이후에 생성 { 변수로 내부 코드 임의 {...} 가변 범위를 제어 C++에서는이 때 } 히트 파괴된다.

2

기능적으로는 동일합니다. 그러나 두 번째는 더 읽기 쉽습니다.

# 1을 보면, 캐주얼 관측통은 anyfunction()의 결과 대신에 반복되는 컬렉션 인 $ array를 볼 수 있습니다.

개인 취향. 나는 둘 다 가끔씩하는 것을 본다. 나를 위해, 더 복잡한 작업은 작고 작은 조각으로 나뉘어 지므로 더 쉽게 이해하고 이해할 수 있습니다.

실제적으로 $ 값을 나중에 다시 사용해야하는 경우 두 번째가 확실한 선택입니다.

관련 문제