문제

PHP에서는 종종 많은 문자열 조작을하고 있습니다. 문자열과 같은 원시 유형이 값으로 전달되면 성능에 크게 영향을 미치기 때문에 코드를 여러 기능으로 나누는 것이 좋습니다.

도움이 되었습니까?

해결책

객체 만 참조로 전달됩니다.

그렇다고해서 참조로 변경하여 성능 향상을받을 수는 없습니다. PHP는 복사기 쓰기를 사용하므로 변수를 수정하는 경우에만 사본이 이루어집니다.

코드를 함수로 분할하면 해당 관점에서 속도가 느려지지 않습니다. 함수를 호출하기위한 작은 오버 헤드가 있지만, 루프에서 10,000을 호출하지 않는 한 아마도 걱정할 필요가 없을 것입니다.

다른 팁

객체는 참조로 전달됩니다. 명시 적으로 사용하지 않는 한 다른 모든 것은 가치로 전달됩니다. & 운영자와의 회의.

즉, PHP도 사용합니다 복사기 불필요한 복사를 피하기 위해.

예, 프리미티브는 참조별로 전달할 함수를 명시 적으로 정의하지 않는 한 (암페어를 사용하여) 가치별로 전달됩니다. & 매개 변수 앞에서) 또는 인수 앞의 암페어로 함수를 호출하십시오. (후자는 더 이상 사용되지 않습니다)

보다 문서 의이 부분 이상.

편집하다

또한 PHP에서 "객체가 참조로 전달된다"는 진술은 약간의 단순화이지만, 대부분의 목적을 위해 그러한 방식으로 생각할 수 있습니다. 이것 문서의 장 차이점을 설명합니다.

참조별로 통과하는 것은 실제로 PHP에서 가치를 통과하는 것보다 느리게 진행됩니다. 이 주장에 대한 올바른 인용을 찾을 수 없습니다. PHP 매뉴얼의 "참조"섹션 어딘가에 있습니다.

기본적으로 모든 것은 가치로 전달됩니다. 참조로 무언가를 전달하려면 명시 적으로 그것을 명시 적으로 언급해야합니다.

여기에 있습니다 이 행동을 명시 적으로 설명하는 PHP 문서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top