この記事の内容は、デバッグ機能を共有することです。興味のある友人は参照してください。また、助けが必要な学生に参考にすることもできます。
最も基本的な 2 つの出力方法は echo です。そして print
/** *echo 是一个语言结构,有无括号均可使用:echo 或 echo() *///打印字符串echo "hello"; echo("hello");//打印变量$text="learn php"; echo $text; echo($text);
/** print 也是语言结构,有无括号均可使用:print 或 print() *///打印字符串print "hello"; print("hello");//打印变量$text="learn php"; print $text; print($text);
echo と print の違い:
echo - 複数の文字列を出力可能
print - 1 つの文字列のみを出力でき、常に 1 を返します
ヒント: print より echo値を返さないため、若干高速になります
二重引用符と一重引用符の違い
二重引用符は変数を解析します
一重引用符は変数を解析しません
$str1="hello"; $str2="php"; echo "$str1";//输出:hello echo '$str2';//输出:$str2
print_r()関数
と要素は特定の形式で表示されます。オブジェクトは配列に似ています。
print_r() は配列ポインターを最後に移動することに注意してください。ポインタを先頭に戻すには、reset() を使用します。
//打印string$str1="hello"; print_r($str1); print_r("hello");//打印integer$num=1024; print_r($num); print_r(1024);//打印float$num=1024.1024; print_r($num); print_r(1024.1024);//打印array $cars=array("Volvo","BMW","Toyota"); print_r($cars);/*打印结果 Array ( [0] => Volvo [1] => BMW [2] => Toyota ) */
式のタイプや値など、1 つ以上の式に関する構造情報を表示します。配列は値を再帰的に展開し、インデントによって構造を示します。
$cars=array("Volvo","BMW","Toyota"); var_dump($cars); /* 打印结果 E:\wamp64\www\test.php:56: array (size=3) 0 => string 'Volvo' (length=5) 1 => string 'BMW' (length=3) 2 => string 'Toyota' (length=6) */ $n=null; var_dump($n); /*打印结果 E:\wamp64\www\test.php:59:null */
var_export() 関数は、この関数に渡される変数に関する構造情報を返します。ただし、返される表現が正当な PHP コードである点が異なります。 var_export は有効な PHP コードを返す必要があります。つまり、var_export によって返されるコードは、PHP コードとして変数に直接割り当てることができます。 そして、この変数は var_export と同じタイプの値を取得します。
1.var_export() はデータを保存するために常に構造化された形式を保持します 2.ただし、特に覚えておいてください: この時点での変数値の型はすでに文字列 ($var) です。 )、内部の値を配列の形式で取り出すことができなくなります
3. var_export はリソース型変数に対して NULL を出力します
$cars=array("Volvo","BMW","Toyota"); var_export($cars); /*打印结果 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', ) */
debug_zval_dump() の出力結果は次のようになります。 var_dump、唯一追加されたもの。値は refcount で、変数が参照された回数を記録します。これは、PHP のコピー オン ライト メカニズムの重要な機能です。最も基本的な 2 つの出力メソッド echo と print の print の違い:
二重引用符 一重引用符との違い
一重引用符は変数を解決しません $cars=array("Volvo","BMW","Toyota");
debug_zval_dump($cars);
/*打印结果 array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) }
*/
print_r() が表示されます変数に関するわかりやすい情報。文字列、整数、または浮動小数点が指定された場合、変数値自体が出力されます。配列が指定された場合、キー
と要素は特定の形式で表示されます。オブジェクトは配列に似ています。print_r() は配列ポインターを最後に移動することに注意してください。ポインタを先頭に戻すには、reset() を使用します。
/** *echo 是一个语言结构,有无括号均可使用:echo 或 echo() *///打印字符串echo "hello"; echo("hello");//打印变量$text="learn php"; echo $text; echo($text);
/** print 也是语言结构,有无括号均可使用:print 或 print() *///打印字符串print "hello"; print("hello");//打印变量$text="learn php"; print $text; print($text);
var_export() 関数
次の 3 つの点に注意してください:
3. var_exportはリソース型変数に対してNULLを出力します
$cars=array("Volvo","BMW","Toyota"); var_export($cars); /*打印结果 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', ) */
debug_zval_dump()函数
debug_zval_dump() 输出结果跟 var_dump 类似,唯一增加的一个值是 refcount,就是记录一个变量被引用了多少次,这是 php 的 copy on write (写时复制) 的机制的一个重要特点。
$cars=array("Volvo","BMW","Toyota"); debug_zval_dump($cars); /*打印结果 array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) } */
exit()函数
终止程序运行
相关推荐:
以上がPHPコード監査(1)-----デバッグ機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。