PHP基础学习(函数一)
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 |
|---|
PHP基础学习(函数一)的更多相关文章
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
- JavaScript基础学习-函数及作用域
函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...
- PHP基础学习----函数
一.函数的定义 function 函数名([参数1,参数2,参数3,...]){ 函数体: [return 返回值;] } //函数调用 函数名([参数1,参数2,参数3,...]): 二.可变函数 ...
- Node.js系列基础学习-----回调函数,异步
Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...
- Python函数基础学习(定义、函数参数、递归函数)
1.本程序是测试函数的基础.函数的参数.递归函数的测试. 函数的参数有: 必选参数.默认参数.可变参数.命名关键字参数和关键字参数 #!/usr/bin/python # -*- coding: ut ...
- GO学习-(12) Go语言基础之函数
Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...
- 如何从零基础学习VR
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 近期很多搞技术的朋友问我,如何步入VR的圈子?如何从零基础系统性的学习VR技术? 本人将于2017年1月 ...
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- python入门到精通[二]:基础学习(1)
摘要:Python基础学习: 注释.字符串操作.用户交互.流程控制.导入模块.文件操作.目录操作. 上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法.代码部分 ...
- qml基础学习 Canvas画笔
一.画布元素 自qt4.7发布qml以来,qml也在一直不断的完善中,在qt4时代使用qml时如果需要异形图,那我们只能让设计师来切图,这样的感觉是很不爽的,总感觉开发没有那么犀利.但是到了qt5这一 ...
随机推荐
- TabLayout学习笔记
配合ViewPager使用,基本布局如下: <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- IOS开发中使用AFNetworking请求网络数据
1.把AFNetworking的文件拖放到项目中(注意不同的版本方法不一样,本历程基于版本2013): 2.使用#import "AFNetworking.h"命令把AFNetwo ...
- jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常
Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...
- javascript--正则表达式--更新中
引用地址:http://www.iteye.com/topic/481228 和http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222 ...
- 非常完整的PHP的mysql类
非常完整的PHP的MySQL操作类, 即使PDO, ActiveRecord, ORM, 框架, Framework… 都不如这个强大和好用. 有了它, 你就不会再需要任何MySQL封装了,此类已经在 ...
- 10款面向HTML5 画布(Canvas)的JavaScript库
https://www-evget-com/article/2014/4/9/20799.html
- VAST3.0规范
VAST3.0视频广告投放规范 Posted on 2014年2月15日 1.术语 随着视频广告行业的发展,某些术语已经得到了广泛的采用.以下定义该文档中与视频广告投放相关的一些术语: 广告荚(Ad ...
- Bootstrap相关的网站
http://www.bootcss.com/ http://expo.bootcss.com/ http://www.webresourcesdepot.com/20-beautiful-resou ...
- iOS-如何使用symbolicatecrash
iOS-如何使用symbolicatecrash 如何使用symbolicatecrash工具分析iOS Crash文件: 原文地址:[iOS Crash文件分析]-如何使用symbolicatecr ...
- iOS-直播开发(开发从底层做起)
一直在忙, 也没写过几次播客! 但一直热衷于直播开发技术, 公司又不是直播方向的, 所以就年前忙里偷袭研究了一下直播开发, 然后翻阅了很多大神的技术博客等, 写了一个简单的Demo, 又根据网上大神们 ...