나는 많이 사용 echo
하고 print_r
거의 사용하지 않습니다 print
.
느낌 echo
은 매크로 print_r
이며의 별칭입니다 var_dump
.
그러나 이것이 차이점을 설명하는 표준 방법은 아닙니다.
나는 많이 사용 echo
하고 print_r
거의 사용하지 않습니다 print
.
느낌 echo
은 매크로 print_r
이며의 별칭입니다 var_dump
.
그러나 이것이 차이점을 설명하는 표준 방법은 아닙니다.
답변:
print
그리고 echo
거의 동일하거나; 둘 다 문자열을 표시하는 언어 구성입니다. 차이는 미묘하다 : print
반면가 식에 사용될 수 있도록 (1)의 반환 값이 echo
가지고 void
리턴 타입; echo
이러한 사용법은 드물지만 여러 매개 변수를 사용할 수 있습니다. echo
보다 약간 빠릅니다print
. (개인적으로는 항상을 사용 echo
하고 결코 사용 하지 않습니다 print
.)
var_dump
변수의 유형 및 하위 항목의 유형 (배열 또는 객체 인 경우)을 포함하여 변수의 세부 덤프를 인쇄합니다. print_r
보다 인간이 읽을 수있는 형태로 변수를 인쇄합니다 : 문자열은 인용되지 않으며, 유형 정보는 생략되고, 배열 크기는 제공되지 않습니다.
var_dump
print_r
내 경험에 따르면 디버깅 할 때보 다 일반적으로 더 유용합니다 . 변수에 어떤 값 / 유형이 있는지 정확히 모르는 경우 특히 유용합니다. 이 테스트 프로그램을 고려하십시오.
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
를 사용 print_r
하면 0
and 및 0.0
또는 false
and 의 차이점을 알 수 없습니다 ''
.
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
에코
반환 값 없음
예 : echo "String 1", "String 2"
인쇄
를 반환 1
하므로 표현식에 사용할 수 있습니다.
예 : print "Hello"
또는, if ($expr && print "foo")
print_r ()
var_dump ()
print_r()
예를 들어 값 유형 을 인쇄 합니다.var_export ()
print_r()
하고 var_dump()
- 출력을 발생하여 유효 PHP 코드입니다!노트:
print
표현식에 사용할 수는 있지만 코드 가독성이 나쁘고 유용하지 않기 때문에 사람들은 그렇게하지 않는 것이 좋습니다. 우선 순위 규칙이 다른 연산자와 상호 작용할 때 혼동 될 수 있습니다. 이 때문에 개인적으로 그것을 사용할 이유가 없습니다 echo
.echo
및 print
언어 구조이며, print_r()
및 var_dump()
/ var_export()
일반 함수입니다. 인수를 echo
또는 로 묶는 괄호가 필요하지 않습니다 print
( 또는 인수를 사용하는 경우 표현식에서와 같이 취급됩니다).var_export()
값을 나중에 다시 읽을 수있는 유효한 PHP 코드를 반환 하지만 프로덕션 코드에이 값을 사용하면을 사용해야하기 때문에 보안 취약점을 쉽게 도입 할 수 있습니다 eval()
. 값을 저장하고 다시 읽는 대신 JSON과 같은 형식을 사용하는 것이 좋습니다. 속도는 비슷할 것입니다.echo $a, $b;
그냥 할 수있는 경우 구문을 echo $a . $b;
: 중 $ a 또는 $ B는 정말 큰 문자열이있는 경우 그 전에 메모리에 문자열의 별도의 연결된 버전을 만들기 추가 메모리와 시간을 사용 후, 후자의 브라우저로 출력을 시작할 수 있습니다.
echo $a; echo $b;
있습니다.
그냥에 추가 할 존의 대답은 , echo
당신이 페이지에 내용을 인쇄하는 데 사용할 수있는 유일한 것이어야한다.
print
약간 느립니다. var_dump()
그리고 print_r()
디버그 경우에만 사용되어야한다.
또한 언급 할만큼 가치가 있다는 것입니다 print_r()
및 var_dump()
기본적으로 에코에 두 번째 인수를 추가 할 것입니다 print_r()
그것을 대신 예를 반환받을 true로 적어도 그 평가됩니다 print_r($array, TRUE)
.
에코와 리턴의 차이점은 다음과 같습니다.
echo
ing과 return
ing 의 차이점은 무엇 입니까?
print_r
PHP를 코딩하는 동안 반환 매개 변수를 많이 사용했습니다 . 그러나 나는 글을 쓰는 경향이 있었다 print_r( $foo, 1 );
. 입력하는 것이 더 빠릅니다.;) 이것에 관해서는 이름 print_r
이 매우 설명 적이 지 않기 때문에 가독성에 대해서는별로 신경 쓰지 않습니다 .
var_dump()
출력에 여러 개의 인수를 허용 할 수 print_r()
있기 때문에 두 번째 인수는 지원하지 않는 것처럼 두 번째 인수를 지원하지 않습니다 var_dump()
.
echo
반환 유형이 없습니다
print
반품 유형이 있습니다
print_r()
포맷 된대로 출력
echo , print , print_r 및 var_dump 의 차이점 은 매우 간단합니다.
에코
echo 는 실제로 함수가 아니라 출력을 인쇄하는 데 사용되는 언어 구조입니다. 인쇄보다 약간 빠릅니다.
echo "Hello World"; // this will print Hello World
echo "Hello ","World"; // Multiple arguments - this will print Hello World
$var_1=55;
echo "$var_1"; // this will print 55
echo "var_1=".$var_1; // this will print var_1=55
echo 45+$var_1; // this will print 100
$var_2="PHP";
echo "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with echo (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with echo (loop or index value required)
괄호를 사용하거나 사용하지 않고 echo 문을 사용할 수도 있습니다
echo ("Hello World"); // this will print Hello World
인쇄
에코 구문 인쇄 와 마찬가지로 언어 구문도 실제 함수가 아닙니다. 의 차이 에코 및 인쇄 즉 인쇄 단 하나의 인수를 받아 인쇄 반면 1. 반환 항상 에코 에는 반환 값이 없습니다합니다. 따라서 print 문을 표현식에 사용할 수 있습니다.
print "Hello World"; // this will print Hello World
print "Hello ","World"; // Multiple arguments - NOT POSSIBLE with print
$var_1=55;
print "$var_1"; // this will print 55
print "var_1=".$var_1; // this will print var_1=55
print 45+$var_1; // this will print 100
$var_2="PHP";
print "$var_2"; // this will print PHP
$var_3=array(99,98,97) // Arrays are not possible with print (loop or index value required)
$var_4=array("P"=>"3","J"=>"4"); // Arrays are not possible with print (loop or index value required)
처럼 에코 , 인쇄 또는 괄호없이 사용할 수 있습니다.
print ("Hello World"); // this will print Hello World
print_r
그만큼 에서 print_r () 함수는 변수에 대한 인간이 읽을 수있는 정보를 인쇄하는 데 사용된다. 인수가 배열 인 경우 print_r () 함수는 키와 요소 (객체와 동일)를 인쇄합니다.
print_r ("Hello World"); // this will print Hello World
$var_1=55;
print_r ("$var_1"); // this will print 55
print_r ("var_1=".$var_1); // this will print var_1=55
print_r (45+$var_1); // this will print 100
$var_2="PHP";
print_r ("$var_2"); // this will print PHP
$var_3=array(99,98,97) // this will print Array ( [0] => 1 [1] => 2 [2] => 3 )
$var_4=array("P"=>"3","J"=>"4"); // this will print Array ( [P] => 3 [J] => 4 )
var_dump
var_dump 함수는 일반적으로 디버깅에 사용되며 변수 / 배열 / 객체에 대한 정보 (유형 및 값)를 인쇄합니다.
var_dump($var_1); // this will print int(5444)
var_dump($var_2); // this will print string(5) "Hello"
var_dump($var_3); // this will print array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
var_dump($var_4); // this will print array(2) { ["P"]=> string(1) "3" ["J"]=> string(1) "4" }
에코 :
함수가 아닙니다. 반환 값 없음
괄호가 필요하지 않음
인쇄 배열이 아님
인쇄
실제 기능입니다
리턴 타입 1
괄호 필요
인쇄 배열이 아님
Print_r
사람이 읽을 수있는 형식으로 인쇄
따옴표 안에없는 문자열
유형 및 전체와 같은 변수의 세부 정보가 아님
var_dump
요소 유형 및 하위 요소와 같은 변수의 모든 덤프 정보
print
가 아니며 에코와 같은 언어 구성입니다. 성명서로도 사용할 수 있습니다. echo
입니다 하지 성명 않으며 하나에서 사용할 수 있습니다. 괄호 print
가 필요 하지 않으며 함수처럼 괄호를 에코 또는 인쇄로 사용할 수 없습니다. 또한 주요 차이점 중 하나를 놓쳤습니다. echo는 여러 문자열을 쉼표로 구분하여 에코합니다.
** Echo는 인쇄 할 수 없지만 여러 표현식을 사용할 수 있습니다. Print_r () PHP 함수는 사람이 읽을 수있는 형태로 배열을 반환하는 데 사용됩니다. 단순히 다음과 같이 작성됩니다
![Print_r ($your_array)][1]
echo : echo는 괄호를 사용할 필요가없는 언어 구성체이며 여러 매개 변수를 사용하여 void를 리턴 할 수 있습니다.
void echo (param1,param2,param3.....);
Example: echo "test1","test2,test3";
print : 괄호를 사용할 필요가없는 언어 구조이므로 매개 변수를 하나만 가져 와서 반환
1 always.
int print(param1);
print "test1";
print "test1","test2"; // It will give syntax error
prinf : 최소한 하나의 문자열과 형식을 취하고 출력 문자열의 길이를 반환하는 함수입니다.
int printf($string,$s);
$s= "Shailesh";
$i= printf("Hello %s how are you?",$s);
echo $i;
Output : Hello Shailesh how are you?
27
echo returns void so its execution is faster than print and printf
print_r()
사람이 읽을 수있는 형식으로 배열을 인쇄하는 데 사용됩니다.