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. BZOJ2733 [HNOI2012]永无乡 【线段树合并】

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  2. 安卓 异步线程更新Ui

    异步跟新UI: 1.handler+Thread(runnable):如果handler和Thread都写在了一个Java文件中,就不说了,如果runnable定义在了一个单独的类文件中,可以通过在构 ...

  3. 【java基础】接口VS抽象类

    1.至少有一个被abstract修饰的方法,同时修饰类名的类为抽象类,抽象的方法必须被子类覆盖,抽象的类必须被继承,抽象的类可以包含非抽象方法,只能单继承. 2.接口中所有的变量是static fin ...

  4. object 类 toString() 和 equals() 的覆写

    基本作用: objiect类是所有类的父类. 任何一个类定义的时候如果没有明确定义了父类的话,默认父类是Object类. class A extends Object{} 在整个java里面,类的继承 ...

  5. 如何检测 Android Cursor 泄漏

    简介: 本文介绍如何在 Android 检测 Cursor 泄漏的原理以及使用方法,还指出几种常见的出错示例.有一些泄漏在代码中难以察觉,但程序长时间运行后必然会出现异常.同时该方法同样适合于其他需要 ...

  6. bzoj 1036

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 11858  Solved: 4803[Submit ...

  7. java中集合框架

    java平台提供了一个全新的集合框架."集合框架"主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型. 在很大程度上,一旦您理解了接口,您就理解了框架.虽然您总要创建接 ...

  8. Codeforces 320A Magic Numbers

    因为晚上有一个cf的比赛,而自己从来没有在cf上做过题,就找了道题熟悉一下. 题目大意:给一个数,判断是否能由1,14,144三个数连接得到. 代码如下: #include <stdio.h&g ...

  9. error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier

    xcode + iwatch调试错误 在工程的  Targets 下面的 三项(工程名为my):my . my Watchkit app .my Watchkit extention General ...

  10. Java 之 Servlet介绍(Java之负基础实战)

    1.介绍 Servlet是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了 ...