ホームページ php教程 php手册 PHP学习之输出字符串(echo,print,printf,print_r和var_dump)_php

PHP学习之输出字符串(echo,print,printf,print_r和var_dump)_php

Jun 06, 2016 pm 08:36 PM
echo print printf

在PHP中,有四种方法输出字符串。echo结构可以一次输出多个值;print()只可以输出一个值;printf()可以格式化输出;print_r()可以输出数组,对调试很有好处。

下面一一进行介绍。
1. echo
echo 是PHP的一个关键字,它没有返回值。在写法上,它可以省略小括号。如下代码:
代码如下:
echo 'Test String';
echo('Test String');

2. print
print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有。在写法上,它和echo一样,可以省略小括号。如下代码:
代码如下:
print 'Test String';
print('Test String');

3. printf
printf可以像C语言的printf一样,格式化输出一个字符串。它的格式和C语言差不多,都是以%开头。其说明符定义如下。
b 参数为整数,显示其二进制
c 参数为整数,显示对应ASCII字符
d 参数为整数,显示其十进制
f 参数为双精度,显示为浮点数
e 参数为双精度,显示为科学计数型
g 参数为双精度,显示为浮点数或科学计数型
o 参数为整数,显示其八进制
s 参数为字符串,显示为字符串
u 参数为无符号整数,显示其十进制
x/X 参数为整数,显示其十六进制(分别为大小写显示)
% 输出%要说明的是:
f,e默认小数点后六位,g在超过六位(加小数点)时,会四舍五入,如果四舍五入之后的值小于1000000会直接输出,大于的1000000的话会显示成科学计数型。f在值大于1.2e23输出的结果是不对的。
以上除%以外,其它的都可以指定输出总位数(小数点、E都算一位),并可以指定0或空格为补位符,还可以指定补位在左还是在右。
f,e可以指定小数点后位数。
如 %5d 表示输出总位数为5,不足左补空格; %05d 表示输出总位数为5,不足左补0; %05.1f 表示输出总位数为5,不足左补0,小数点后1位; %-05.1f 表示输出总位数为5,不足右补0,小数点后1位;
示例代码:
代码如下:
printf("%7.2f", 1.2); // " 1.20"
printf("%-07.2f", 1.2); // "1.20000"

4. sprintf
sprintf和格式转换和printf一样,两者区别在于printf直接输出,而sprintf返回一个格式化后的字符串。
5. print_r和var_dump
print_r和var_dump都能输出数组和对象,但print_r对布尔型的输出不太明显;var_dump输出比较详细,一般调试时用得多。
如下代码:
代码如下:
$v = new test();
print_r($v);
var_dump($v);
class test {
public $num = 1;
public $str = "222";
public $bln = true;

结果为:
代码如下:
test Object
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}

参考资料:
PHP程序设计,2003,第四章 字符串,输出字符串
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

テクノロジーの世界を探索できる、厳選された 5 つの Go 言語オープンソース プロジェクト テクノロジーの世界を探索できる、厳選された 5 つの Go 言語オープンソース プロジェクト Jan 30, 2024 am 09:08 AM

テクノロジーの世界を探索できる、厳選された 5 つの Go 言語オープンソース プロジェクト

Go 言語開発の要点: 5 つの人気のあるフレームワークの推奨事項 Go 言語開発の要点: 5 つの人気のあるフレームワークの推奨事項 Mar 24, 2024 pm 01:15 PM

Go 言語開発の要点: 5 つの人気のあるフレームワークの推奨事項

Golang の Web フレームワーク Echo フレームワークを使用した分散タスク スケジューリングの実装 Golang の Web フレームワーク Echo フレームワークを使用した分散タスク スケジューリングの実装 Jun 24, 2023 am 11:49 AM

Golang の Web フレームワーク Echo フレームワークを使用した分散タスク スケジューリングの実装

Laravel 開発: Laravel Echo と Pusher を使用して WebSocket 通信を実装するにはどうすればよいですか? Laravel 開発: Laravel Echo と Pusher を使用して WebSocket 通信を実装するにはどうすればよいですか? Jun 13, 2023 pm 05:01 PM

Laravel 開発: Laravel Echo と Pusher を使用して WebSocket 通信を実装するにはどうすればよいですか?

PHPにおけるechoキーワードの役割と使い方の詳しい説明 PHPにおけるechoキーワードの役割と使い方の詳しい説明 Jun 28, 2023 pm 08:12 PM

PHPにおけるechoキーワードの役割と使い方の詳しい説明

Go 言語フレームワークを探索する: 見逃せない 5 つの選択肢! Go 言語フレームワークを探索する: 見逃せない 5 つの選択肢! Feb 19, 2024 pm 02:29 PM

Go 言語フレームワークを探索する: 見逃せない 5 つの選択肢!

Go 言語で一般的に使用されるフレームワークは何でしょうか? Go 言語で一般的に使用されるフレームワークは何でしょうか? Feb 18, 2024 pm 10:53 PM

Go 言語で一般的に使用されるフレームワークは何でしょうか?

市場で最も人気のある Golang フレームワークは何ですか? 市場で最も人気のある Golang フレームワークは何ですか? Jun 01, 2024 pm 08:05 PM

市場で最も人気のある Golang フレームワークは何ですか?

See all articles