PHP(Hypertext Preprocessor):超文本预处理器,一种嵌入在HTML中并且运行在服务器端的脚本语言。
var_dump——打印变量相关信息
说明:
<?php var_dump(mixed $expression [, mixed $...]); ?>
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
$expression:需要打印的变量,该函数没有返回值。
Example :
示例:
<?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"
}
}
print_r()——打印关于变量的易于理解的信息。
说明:
<?php print_r ( mixed $expression [, bool $return ] ); ?>
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
该函数返回值为bool!
示例:
<?php
$a = array (
'a' => 'apple',
'b' => 'banana',
'c' => array ('x','y','z'));
echo "<pre>";
print_r ($a);
echo "</pre>";
?>
输出:
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
) )
如果想捕捉 print_r() 的输出,可使用 return
参数。若此参数设为 TRUE
,print_r() 将不打印结果(此为默认动作),而是返回其输出
echo var_dump print_r都可以显示字符串的信息,区别在于echo不能输出数组,没有返回值,var_dump打印变量也没有返回值,print_r可以有返回值———————————————————————————————————————————————————————————————————————————————
isset()——检测变量是否设置
语法:
<?php isset ( mixed $var [, mixed $... ]); ?>
检测变量是否设置,并且不是 NULL,返回值类型为bool;
注意:当isset()中为“”、NULL这两种情况时,返回的是不一样的结果,PHP的NULL常数时,返回值为false,而为空字符串时,返回值是true。
如果使用unset($a)之后,isset($a)返回值将是false。
简单讲:变量设置其值为NULL,返回false
变量未设置,返回false
变量设置,其值不为NULL,返回true。
实例:
输入:
<?php
// 给测试变量赋值
$testA = "";
$testB ="coding";
$testC = NULL;
// 分别打印各变量isset函数下的返回值信息
var_dump(isset($testA));
echo "<br/>";
var_dump(isset($testB));
echo "<br/>";
var_dump(isset($testC));
echo "<br/>";
?>
输出:
C:/../test1.php:15:boolean true C:/../test1.php:17:boolean true C:/../test1.php:19:boolean false
empty()——检查一个变量是否为空
语法
<?php empty ( mixed $var ); ?>
如果 var
是非空或非零的值,则 empty() 返回 FALSE
。换句话说,""、0、"0"、NULL
、FALSE
、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var
为空,则返回 TRUE
。
注意:因为是一个语言构造器而不是一个函数,不能被可变函数调用。
实例:
输入:
<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>
输出:
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
___________isset() empty()差别:除了对空值、0、等返回值有差别外,isset()只能判断变量,输入不能是函数返回值例子如下:
<?php
function test1($var)
{
$res = $var + 1;
return $res;
}
var_dump(isset(test1(2)));
?>
这段代码将会报错:
( ! ) Fatal error: Cannot use isset() on the result of a function call (you can use "null !== func()" instead) in C:../test1.php on line 29 |
---|