> 백엔드 개발 > PHP 문제 > PHP 출력의 차이점은 무엇입니까?

PHP 출력의 차이점은 무엇입니까?

藏色散人
풀어 주다: 2023-03-16 22:48:01
원래의
1941명이 탐색했습니다.

PHP 출력의 차이점은 다음과 같습니다. 1. echo는 void를 반환하고 값을 반환하지 않습니다. 2. echo 속도는 print보다 빠릅니다. 3. print_r 함수는 변수에 대한 이해하기 쉬운 정보를 인쇄합니다. 5. sprintf 함수는 형식이 지정된 문자열을 출력하는 대신 변수에 씁니다. 6. var_dump 함수는 디버깅에 사용됩니다.

PHP 출력의 차이점은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

php

php 출력 echo, print 에서 6가지 출력 방법의 차이점 print_r , printf, sprintfvar_dump 간의 차이점을 비교합니다.

1. echo

echo()는 실제로 함수가 아니고 PHP 문이므로 괄호를 사용할 필요가 없습니다. 그러나 echo()에 두 개 이상의 인수를 전달하려는 경우 괄호를 사용하면 구문 분석 오류가 발생합니다. 게다가 echo는 void를 반환하고 값을 반환하지 않으므로 값을 할당하는 데 사용할 수 없습니다.

<?php

$a = echo("words"); // 错误!不能用来赋值

echo "words"; // 55nav

echo ("words"); // 55nav

echo ("apple","bear"); //发生错误,有括号不能传递多个参数

echo "alice","bill","cart", "daring";  // 不用括号的时候可以用逗号隔开多个值, 会输出 alicebillcartdaring  不管是否换行,最终显示都是为一行

$fistname="alice";

echo "$fistname com"; // 如果 $firstname = "alice", 则会输出 alice com.

echo &#39;$firstname com&#39;; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com

?>
로그인 후 복사

2, print

print()는 echo()와 사용법은 동일하지만 에코 속도가 print보다 약간 빠릅니다. 실제로 함수도 아니므로 괄호를 사용할 필요가 없습니다.

그러나 print()에 두 개 이상의 인수를 전달하려는 경우 괄호를 사용하면 구문 분석 오류가 발생합니다.

print는 항상 1을 반환하는데 이는 echo와 다릅니다.

즉, print를 사용하여 값을 할당할 수 있지만 실제적인 의미는 없습니다.

1 <?php 
2 
3 $a = print("alice"); // 这个是允许的
4 
5 echo $a; // $a的值是1
로그인 후 복사

3. print_r 함수

print_r 함수는 변수에 대한 정보를 이해하기 쉽게 출력합니다.

구문: ​​

mixed print_r (mixed $expression [, bool return ] )

변수가 문자열, 정수 또는 부동소수점인 경우 해당 값이 배열인 경우 직접 출력됩니다. 쉽게 읽을 수 있도록 형식화된 배열, 즉 키와 값에 해당하는 형식을 출력합니다.

객체 객체와 유사합니다.

print_r에는 두 개의 매개변수가 있습니다. 첫 번째는 변수이고 두 번째는 true로 설정할 수 있습니다. true로 설정하면 문자열이 반환되고, 그렇지 않으면 부울 값 TRUE이 반환됩니다.

<?php

$a="alice";

$c = print_r($a);

echo $c;  // $c的值是TRUE

$c = print_r($a,true);

echo $c; // $c的值是字符串alice

$d = [1,2,3,4];

print_r($d); // Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
로그인 후 복사

4. printf 함수

printf() 함수 는 형식화된 문자열을 반환합니다 .

구문: ​​

printf(format,arg1,arg2,arg++)

매개변수 형식은 변환된 형식으로, 백분율 기호("%")로 시작하고 변환 문자로 끝납니다.

가능한 형식 값은 다음과 같습니다. * %% – 백분율 기호를 반환합니다.

* %b – 二进制数* %c – 依照 ASCII 值的字符* %d – 带符号十进制数* %e – 可续计数法(比如 1.5e+3)* %u – 无符号十进制数* %f – 浮点数(local settings aware)* %F – 浮点数(not local settings aware)* %o – 八进制数* %s – 字符串* %x – 十六进制数(小写字母)* %X – 十六进制数(大写字母)arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
로그인 후 복사

인수 인수보다 % 기호가 더 많으면 자리 표시자를 사용해야 합니다. 자리 표시자는 % 기호 뒤에 삽입되며 숫자와 "$"로 구성됩니다.

숫자를 사용하여 표시되는 매개변수를 지정할 수 있습니다. 자세한 내용은 예를 참조하세요.

<?php

printf("My name is %s %s。","alice", "com"); // My name is alice com。

printf("My name is %1\$s %1\$s","alice", "com"); // 在s前添加1\$或2\$.....表示后面的参数显示的位置,此行输出 My name is alice alice因为只显示第一个参数两次。

printf("My name is %2\$s %1\$s","alice", "com"); // My name is com alice

?>
로그인 후 복사

5、sprintf函数

此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写入一个变量中,而不是输出来。

<?php

sprintf("My name is %1\$s %1\$s","alice", "com");  //你会发现没有任何东西输出的。

$out = sprintf("My name is %1\$s %2\$s","alice", "com");

echo $out;  //输出 My name is alice com
로그인 후 복사

6、var_dump函数

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

1 var_dump(&#39;hello&#39;); // string(5) "hello"
로그인 후 복사

 推荐学习:《PHP视频教程

위 내용은 PHP 출력의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿