PHP는 많은 함수와 상수로 표준화되었다. 그리고 특정 PHP확장 컴파일이 요구하는 함수도 제공한다. 이런 함수는 확장을 컴파일하지 않으면 "undefined function"같은 치명적 오류 메시지를 출력합니다. 예를 들면, 이미지 함수를 사용하기 위해서는 GD 지원이 가능하게 컴파일해야 합니다. mysql_connect() 함수를 사용하려면 MySQL을 지원하도록 컴파일해야 한다. 문자열과 변수 관련 함수와 같이 PHP의 모든 버전에 포함되어있는 많은 핵심 함수가 존재한다. phpinfo()나 get_loaded_extensions()를 호출하면 현재 PHP에 올라간 확장에 어떤것인지 확인할수 있다. 많은 확장이 기본값으로 활성화되어있고, PHP 매뉴얼은 여러 확장에 의해 분할되어있다는 것에 주의해야 한다. PHP를 셋업하는 방법을 알고 싶다면, 설정, 설치, 각 확장에 대한 챕터를 보라.
함수의 원형(prototype) 읽기와 이해는 함수 선언 읽는 법이라는 매뉴얼 섹션에서 설명한다. 함수가 돌려주는 것이나 함수가 값으로 직접 전달하는지 이해하는것이 중요하다. 예를 들면, str_replace()함수는 변경된 문자열을 돌려주는 반면에 usort()함수는 실질적으로 변수 자체에 전달하도록 동작한다. 각 매뉴얼 페이지는 각함수에 대해서 함수 인수와 동작 변경,성공과 실패시 돌려주는 값과 유용한 정보에 대해서 나와있다. 이런 중요한 차이점(아직은 희박) 을 아는 것은 PHP 코드를 정확하게 쓰는데 있어서 매우 결정적인 역할을 한다.
Note: string을 기대한 곳에 array를 넘기는 등, 함수에 주어진 인수가 기대한 것이 아닐 경우, 함수의 반환값은 정의되지 않았습니다. 이런 경우
NULL
을 반환할 수 있지만, 이는 단순한 경우이며, 이에 의존하지 마십시오.
더불어 function_exists(), the function reference, get_extension_funcs(), dl()섹션을 참고할것.