>  기사  >  백엔드 개발  >  PHP에서 쉽게 혼동되는 함수와 메소드는 무엇입니까?

PHP에서 쉽게 혼동되는 함수와 메소드는 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-18 13:42:472609검색

PHP에서 쉽게 혼동되는 함수와 메소드는 다음과 같습니다. 1. echo와 print의 차이점은 echo가 출력된 후 반환 값이 없지만 print에는 반환 값이 있다는 것입니다. include()]는 조건부 포함 함수이고, [require()]는 무조건 포함 함수입니다.

PHP에서 쉽게 혼동되는 함수와 메소드는 무엇입니까?

PHP에서 쉽게 혼동되는 함수와 메서드는 다음과 같습니다.

1 echo와 print의 차이점

PHP에서 echo와 print의 기능은 기본적으로 동일(출력)하지만 두 Nuanced 사이에는 여전히 약간의 차이점이 있습니다. echo 출력 후에는 반환값이 없지만 print 에는 반환값이 있어서 실행 실패 시 false 를 반환합니다. 따라서 일반 함수로 사용할 수 있습니다. 예를 들어 다음 코드를 실행하면 $r 변수의 값은 1이 됩니다. $r的值将为1。

PHP代码:

$r = print "Hello World";

这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。

 

2.include与require的区别

include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a

PHP 코드:

if($a){
include("a.php");
}

이는 일부 복잡한 표현에 print를 사용할 수 있지만 echo는 사용할 수 없음을 의미합니다. 그러나 echo 문에서는 반환되는 값이 필요하지 않으므로 코드의 echo 문은 print 문보다 약간 빠르게 실행됩니다.

2.include와 require의 차이점

include()와 require()는 기본적으로 동일한 기능(include)을 갖지만, include()는 조건부 포함 기능인 반면, 사용법에 약간의 차이가 있습니다. require()는 무조건 포함 함수입니다. 예를 들어 다음 코드에서 $a 변수가 true이면 a.php 파일이 포함됩니다.

PHP 코드:

if($a){
require("a.php");
}

그리고 require()는 include()와 다릅니다. , $a 값에 관계없이 다음 코드는 a.php 파일을 파일에 포함합니다.

PHP 코드:

$id=0;
empty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
!isset($id)?print "我是空的":print "我是$id .";//结果:我是0

오류 처리 측면에서 include 오류가 발생하면, 프로그램은 include 문을 건너뜁니다. 오류 메시지가 표시되지만 프로그램은 계속 실행됩니다. 그러나 require는 치명적인 오류를 발생시킵니다.

물론 Qifeng을 문자 그대로 이해할 수도 있습니다. 요구한다는 것은 매우 강력한 요청 또는 요청을 의미합니다.

3. require_once() 및 include_once() 문

이 문은 각각 require() 및 include() 문에 해당하는 간단한 require_once() 및 include_once() 문처럼 보이기 때문에 주제에서 벗어났습니다. require_once() 및 include_once() 문은 여러 파일을 포함해야 할 때 주로 사용되며, 이는 동일한 코드를 포함하여 발생하는 함수 또는 변수의 반복 정의 오류를 효과적으로 방지할 수 있습니다.

4. 빈 문자열(")과 NULL의 차이점

PHP에서 빈 문자열과 NULL은 모두 0 값으로 저장되지만 유형이 다릅니다. echo gettype(") 을 시도해 볼 수 있습니다. gettype(NULL); 그들이 인쇄하는 것은 각각 문자열과 NULL이라는 것을 알 수 있습니다. 물론 0도 혼동하기 쉽습니다. 유형을 인쇄하려면 유형이 0이라는 것을 알 수 있습니다. (정수형) 문자열("), NULL, 0은 "동일한 값"이지만 동일 유형이 아님을 알 수 있습니다.

5.! isset과 공백의 차이점

문자 그대로의 의미에서 , 우리는 다음을 이해할 수 있습니다: 비어 있음은 변수가 "비어 있는지" 결정하는 반면, isset은 변수가 설정되었는지 여부를 결정합니다. 그러나 주의해야 할 한 가지가 있습니다. 변수 값이 0이면 비어 있음이 변수를 고려합니다. 예를 들어 $id 변수를 확인할 때 $id=0인 경우 $id 변수가 구성되었는지 확인하기 위해 empty 및 isset을 사용합니다. 다른 값: 비어 있으면 $id 값을 얻을 수 있습니다. 아래 예를 살펴보세요.

PHP 코드:

" == NULL;
" === NULL;

6. == (같음)

위의 네 번째 빈 문자열("")과 NULL을 검토하세요. 또 다른 예를 살펴보겠습니다.

PHP 코드:

rrreee

실행한 후 첫 번째가 true이고, 두 번째는 거짓입니다! ==는 값이 동일한지 여부만 비교하는 반면, === 값을 비교하면 유형도 비교하므로 더 엄격하다는 것을 알 수 있습니다. PHP 함수와 메소드

thinkphp 문서에서 함수와 메소드의 사양을 보기 전까지는 항상 같은 것이라고 생각했습니다.

메소드는 클래스의 "함수"이므로 동일할 수 없습니다.

특히 클래스의 정적 메서드는 클래스 이름을 통해 직접 호출할 수 있습니다.

일반적으로 함수는 전역 범위에 있어야 합니다.

간단합니다. 차이점은 다음과 같습니다.

함수는 독립적으로 존재합니다. 즉, 프로세스 부분에 대해 정의됩니다.

메서드는 클래스의 존재에 따라 다릅니다. 즉, 함수는 알고리즘의 구현으로 사용될 수 있습니다.

메서드는 비즈니스 로직의 구현으로 사용될 수 있습니다.

클래스의 메서드는 개체 또는 클래스를 통해 호출되어야 합니다.
🎜🎜관련됨. 학습 권장사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

위 내용은 PHP에서 쉽게 혼동되는 함수와 메소드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.