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() 显示关于一个变量的易于理解的信息。如果给出的是 stringintegerfloat,将打印变量值本身。如果给出的是 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 参数。若此参数设为 TRUEprint_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"NULLFALSEarray()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

PHP基础学习(函数一)的更多相关文章

  1. Python入门基础学习(函数)

    Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...

  2. JavaScript基础学习-函数及作用域

    函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...

  3. PHP基础学习----函数

    一.函数的定义 function 函数名([参数1,参数2,参数3,...]){ 函数体: [return 返回值;] } //函数调用 函数名([参数1,参数2,参数3,...]): 二.可变函数 ...

  4. Node.js系列基础学习-----回调函数,异步

    Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...

  5. Python函数基础学习(定义、函数参数、递归函数)

    1.本程序是测试函数的基础.函数的参数.递归函数的测试. 函数的参数有: 必选参数.默认参数.可变参数.命名关键字参数和关键字参数 #!/usr/bin/python # -*- coding: ut ...

  6. GO学习-(12) Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...

  7. 如何从零基础学习VR

    转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...

  8. python入门到精通[三]:基础学习(2)

    摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...

  9. python入门到精通[二]:基础学习(1)

    摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...

  10. qml基础学习 Canvas画笔

    一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一 ...

随机推荐

  1. Eclipse上Spring-tool的安装

    三种安装方式: 插件地址:http://spring.io/tools/sts/all 1.在线安装  Help-->> Install new Software 2.本地安装,Help- ...

  2. intel Xeon(R) CPU E5-2650 v2 性能测试报告

                                          intel  Xeon(R) CPU E5-2650 v2                                 ...

  3. VIM 第二天--快捷键

    好吧,今天是重新学习vim的第二天,不得不说,收货丰厚. 先来勉励一下自己: 存活(目前状态) 感觉很好 感觉更好,更强,更快 吃用vim超能力 vimtutor练到lesson 7了,略微总结一下, ...

  4. 2.12. 后端 SQL 的可见性(Core Data 应用程序实践指南)

    上一节已经插入了数据,非常好.但是,我得更进一步.要知道里面究竟发生了什么,持久化存储区的数据有什么变化,生成了哪些查询语句.每次运行程序时,是否重复插入了对象. 有一个调试选项可以提供足够的信息,开 ...

  5. 浅谈Java分页技术

    话不多言.我们要实现java分页技术,我们首先就需要定义四个变量,他们是: int  pageSize;//每页显示多少条记录 int pageNow;//希望现实第几页 int pageCount; ...

  6. HDU-1598-find the most comfortable road(暴力+并查集)多看看,

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1598 题目思路:对于这个题目,可以先按速度的大小成小到大排序, 再成0 到 m ,把所有可以联通的道路 ...

  7. Spark SQL原理及实战

    一.Spark SQL的发展 1.spark SQL和shark SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它是当 ...

  8. 以脚本方式直接执行修改密码的passwd命令

    以脚本方式直接执行修改密码的passwd命令: 参考: http://bbs.csdn.net/topics/390001865 http://bbs.chinaunix.net/thread-993 ...

  9. MyBatis 插入时返回自增主键

    XML <insert id="insert" parameterType="com.stone.model.Person"> <!-- se ...

  10. Libcurl细说

    libcurl教程   原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html 译者:JGood(http://blog.csdn.net/J ...