PHP基础学习(函数1)
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!
示例:
1 <?php 2 $a = array ( 3 'a' => 'apple', 4 'b' => 'banana', 5 'c' => array ('x','y','z')); 6 echo "<pre>"; 7 print_r ($a); 8 echo "</pre>"; 9 ?>
输出:
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 |
---|