1>
var_dump- var_dump
- (PHP 3>= 3.0.5, PHP 4 )
- var_dump -- 打印变量的相关信息
- 描述
- void var_dump ( mixed expression [, mixed expression [, ...]])
- 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
- 提示: 为了防止程序直接将结果输出到浏览器,您可以使用输出控制函数(output-control functions)来捕获函数的输出,并把它们保存到一个 string 型的变量中。
- 可以比较一下 var_dump() 与 print_r()。
- 例子 1. var_dump() 示例
- <pre>
- <?php
- $a = array (1, 2, array ("a", "b", "c"));
- var_dump ($a);
- /* 输出:
- array(3) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- array(3) {
- [0]=>
- string(1) "a"
- [1]=>
- string(1) "b"
- [2]=>
- string(1) "c"
- }
- }
- */
- $b = 3.1;
- $c = TRUE;
- var_dump($b,$c);
- /* 输出:
- float(3.1)
- bool(true)
- */
- ?>
- </pre>
2> var_export
- var_export
- (PHP 4 >= 4.2.0)
- var_export -- 输出或返回一个变量的字符串表示
- 描述
- mixed var_export ( mixed expression [, bool return])
- 此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
- 您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
- 比较 var_export() 和 var_dump().
- <pre>
- <?php
- $a = array (1, 2, array ("a", "b", "c"));
- var_export ($a);
- /* 输出:
- array (
- 0 => 1,
- 1 => 2,
- 2 =>
- array (
- 0 => 'a',
- 1 => 'b',
- 2 => 'c',
- ),
- )
- */
- $b = 3.1;
- $v = var_export($b, TRUE);
- echo $v;
- /* 输出:
- 3.1
- */
- ?>
- </pre>
3> isset 检测变量是否设置
- isset
- (PHP 3, PHP 4 )
- isset -- 检测变量是否设置
- 描述
- bool isset ( mixed var [, mixed var [, ...]])
- 如果 var 存在则返回 TRUE,否则返回 FALSE。
- 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
- 警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
- <?php
- $var = '';
- // 结果为 TRUE,所以后边的文本将被打印出来。
- if (isset($var)) {
- print "This var is set set so I will print.";
- }
- // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
- $a = "test";
- $b = "anothertest";
- var_dump( isset($a) ); // TRUE
- var_dump( isset ($a, $b) ); // TRUE
- unset ($a);
- var_dump( isset ($a) ); // FALSE
- var_dump( isset ($a, $b) ); // FALSE
- $foo = NULL;
- var_dump( isset ($foo) ); // FALSE
- ?>
- 这对于数组中的元素也同样有效:
- <?php
- $a = array ('test' => 1, 'hello' => NULL);
- var_dump( isset ($a['test']) ); // TRUE
- var_dump( isset ($a['foo']) ); // FALSE
- var_dump( isset ($a['hello']) ); // FALSE
- // 键 'hello' 的值等于 NULL,所以被认为是未置值的。
- // 如果想检测 NULL 键值,可以试试下边的方法。
- var_dump( array_key_exists('hello', $a) ); // TRUE
- ?>
4> unset 释放给定的变量
- unset
- (PHP 3, PHP 4 )
- unset -- 释放给定的变量
- 描述
- void unset ( mixed var [, mixed var [, ...]])
- unset() 销毁指定的变量。注意在 PHP 3 中,unset() 将返回 TRUE(实际上是整型值 1),而在 PHP 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误。
- 例子 1. unset() 示例
- <?php
- // 销毁单个变量
- unset ($foo);
- // 销毁单个数组元素
- unset ($bar['quux']);
- // 销毁一个以上的变量
- unset ($foo1, $foo2, $foo3);
- ?>
- unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
- 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
- <?php
- function destroy_foo() {
- global $foo;
- unset($foo);
- }
- $foo = 'bar';
- destroy_foo();
- echo $foo;
- ?>
- 上边的例子将输出:
- bar
- 如果在函数中 unset() 一个通过引用传递的变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
- <?php
- function foo(&$bar) {
- unset($bar);
- $bar = "blah";
- }
- $bar = 'something';
- echo "$bar\n";
- foo($bar);
- echo "$bar\n";
- ?>
- 上边的例子将输出:
- something
- something
- 如果在函数中 unset() 一个静态变量,则 unset() 将销毁此变量及其所有的引用。
- <?php
- function foo() {
- static $a;
- $a++;
- echo "$a\n";
- unset($a);
- }
- foo();
- foo();
- foo();
- ?>
- 上边的例子将输出:
- 1
- 2
- 3
- 如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现:
- <?php
- function foo() {
- unset($GLOBALS['bar']);
- }
- $bar = "something";
- foo();
- ?>
5> echo 输出字符串
- echo
- (PHP 3, PHP 4 )
- echo -- Output one or more strings
- Description
- void echo ( string arg1 [, string argn...])
- Outputs all parameters.
- echo() is not actually a function (it is a language construct) so you are not required to use parentheses with it. In fact, if you want to pass more than one parameter to echo, you must not enclose the parameters within parentheses.
- 例子 1. echo() examples
- <?php
- echo "Hello World";
- echo "This spans
- multiple lines. The newlines will be
- output as well";
- echo "This spans\nmultiple lines. The newlines will be\noutput as well.";
- echo "Escaping characters is done \"Like this\".";
- // You can use variables inside of an echo statement
- $foo = "foobar";
- $bar = "barbaz";
- echo "foo is $foo"; // foo is foobar
- // You can also use arrays
- $bar = array("value" => "foo");
- echo "this is {$bar['value']} !"; // this is foo !
- // Using single quotes will print the variable name, not the value
- echo 'foo is $foo'; // foo is $foo
- // If you are not using any other characters, you can just echo variables
- echo $foo; // foobar
- echo $foo,$bar; // foobarbarbaz
- // Some people prefer passing multiple parameters to echo over concatenation.
- echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
- echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";
- echo <<<END
- This uses the "here document" syntax to output
- multiple lines with $variable interpolation. Note
- that the here document terminator must appear on a
- line with just a semicolon. no extra
- END;
- // Because echo is not a function, following code is invalid.
- ($some_var) ? echo 'true' : echo 'false';
- // However, the following examples will work:
- ($some_var) ? print('true'): print('false'); // print is a function
- echo $some_var ? 'true': 'false'; // changing the statement around
- ?>
6> empty -- 检查一个变量是否为空
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见获取更多信息。
- <?php
- $var = 0;
- // 结果为 true,因为 $var 为空
- if (empty($var)) {
- echo '$var is either 0 or not set at all';
- }
- // 结果为 false,因为 $var 已设置
- if (!isset($var)) {
- echo '$var is not set at all';
- }
- ?>
7> is_array -- 检测变量是否是数组
is_bool -- 检测变量是否是布尔型
is_double -- 的别名
is_real -- 的别名
is_float -- 检测变量是否是浮点型
is_int -- 检测变量是否是整数
is_integer -- 的别名
is_long -- 的别名
is_null -- 检测变量是否为 NULL
is_numeric -- 检测变量是否为数字或数字字符串
is_object -- 检测变量是否是一个对象
is_resource -- 检测变量是否为资源类型
is_string -- 检测变量是否是字符串
is_scalar -- 检测变量是否是一个标量
如果给出的变量参数 var 是一个标量,is_scalar() 返回 TRUE,否则返回 FALSE。
标量变量是指那些包含了 、、 或 的变量,而 、 和 则不是标量。
strval -- 获取变量的字符串值
阅读(1133) | 评论(0) | 转发(0) |