仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1384|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网页编程之php empty,isset,is

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:41:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。   1、举例申明
A.一个变量没有界说,咱们该怎样去判别呢
复制代码 代码以下:
<?php
#不存在$test 变量

$isset= isset($test)?"test is define!":"test is undefine!";
echo "isset:$isset\r\n";

$empty=!empty($test)?"test is define!":"test is undefine!";
echo "empty:$empty\r\n";

$is_null=is_null($test)?"test is define!":"test is undefine!";
echo "is_null:$is_null\r\n";

测试了局是:

了局出来了:empty,isset起首城市反省变量是不是存在,然后对变量值停止检测。而is_null 只是直接反省变量值,是不是为null,因而假如变量不决义就会呈现毛病!
B、看下各自吸收的参数是甚么?
isset函数参数:
<?php
$test=100;
echo isset($test),isset(100),$isset($b=100);
  
<br />
<b>Parse error</b>: parse error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or "$" in <b>PHPDocument3</b> on line <b>3</b><br />
empty函数参数:
<?php
$test=100;
echo empty($test),empty(100),empty($b=100);
  
<br />
<b>Parse error</b>: parse error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or "$" in <b>PHPDocument3</b> on line <b>3</b><br />
is_null函数参数:
<?php
$test=100;
echo is_null($test),is_null(100),is_null($b=100);
运转了局:没有任何毛病。
对照了局出来了:empty,isset输出参数必需是一个变量(php变量是以$字符开首的),而is_null输出参数只需是可以有前往值就能够。(常量,变量,表达式等)。在php手册外面,关于他们解析是:empty,isset 是一个言语布局而非函数,因而它没法被变量函数挪用。
2、归纳综合总结isset,empty,is_null区分:
方才引见的:反省变量,和参数类型,这个是这3个函数分歧的地方的基本,也是最轻易被无视的。看到网上有良多对这个3个函数停止对照文章。很少触及这些。上面我要说的,是在都反省已存在变量情形下,分歧的地方。

实例:

复制代码 代码以下:
<?php
$a=100;
$b="";
$c=null;
//isset反省
echo "isset","\$a=$a",isset($a)?"define":"undefine","\r\n";
echo "isset","\$b=$b",isset($b)?"define":"undefine","\r\n";
echo "isset","\$c=$c",isset($c)?"define":"undefine","\r\n";
unset($b);
echo "isset","\$b",isset($b)?"define":"undefine","\r\n";
$b=0;
echo "\r\n\r\n";

//empty反省
echo "empty","\$a=$a",!empty($a)?"no empty":"empty","\r\n";
echo "empty","\$b=$b",!empty($b)?"no empty":"empty","\r\n";
echo "empty","\$c=$c",!empty($c)?"no empty":"empty","\r\n";
unset($b);
echo "empty","\$b",!empty($b)?"no empty":"empty","\r\n";
$b=0;
echo "\r\n\r\n";

//is_null反省
echo "is_null","\$a=$a",!is_null($a)?"no null":"null","\r\n";
echo "is_null","\$b=$b",!is_null($b)?"no null":"null","\r\n";
echo "is_null","\$c=$c",!is_null($c)?"no null":"null","\r\n";
unset($b);
echo "is_null","\$b",is_null($b)?"no null":"null","\r\n";


经由过程下面这个复杂测试,咱们可以大体晓得,当一个变量存在情形下:isset,empty,is_null检测,失掉值情形了。下面没有举例更多变量。其实测试发明:

empty

假如 变量 长短空或非零的值,则 empty() 前往 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var、不决义; 和没有任何属性的对象都将被以为是空的,假如 var 为空,则前往 TRUE。

isset

假如 变量 存在(非NULL)则前往 TRUE,不然前往 FALSE(包含不决义)。变量值设置为:null,前往也是false;unset一个变量后,变量被作废了。注重,isset关于NULL值变量,特别处置。

is_null

检测传入值【值,变量,表达式】是不是是null,只要一个变量界说了,且它的值是null,它才前往TRUE . 其它都前往 FALSE 【不决义变量传入后会失足!】.


疑问:怎样判别一个变量被设置了,而且值为NULL呢?

经由过程下面对照,估量人人与我一样,会有这个成绩显现在脑海外面。 检测一个变量是不是是null 可以用:is_null,但假如变量不决义用它检测会失足。因而,咱们想到,检测变量是不是界说可以用:isset,然而假如一个变量值是:null, 则它会前往false . 哈哈,这个成绩怎样处理呢?守候人人分享……

反省变量存在,而且值为NULL.
复制代码 代码以下:
<?php
function checkNull($a)
{
if(array_key_exists($a,$GLOBALS))
{
global $$a;
if(is_null($$a))
return true;
}
return false;
}
$test=null;
var_dump(checkNull("test"));
var_dump(checkNull("test1"));
PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。
第二个灵魂 该用户已被删除
沙发
发表于 2015-2-4 06:03:33 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
因胸联盟 该用户已被删除
板凳
发表于 2015-2-9 16:48:44 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
分手快乐 该用户已被删除
地板
发表于 2015-2-27 11:53:48 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-28 03:56:26 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
柔情似水 该用户已被删除
6#
发表于 2015-3-5 03:37:11 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
再现理想 该用户已被删除
7#
发表于 2015-3-6 04:06:02 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
深爱那片海 该用户已被删除
8#
发表于 2015-3-12 20:01:55 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
只想知道 该用户已被删除
9#
发表于 2015-3-17 07:36:03 | 只看该作者
实践是检验自己会不会的真理。
透明 该用户已被删除
10#
发表于 2015-3-24 01:59:06 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
爱飞 该用户已被删除
11#
 楼主| 发表于 2015-4-3 04:02:01 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
谁可相欹 该用户已被删除
12#
发表于 2015-4-7 02:51:25 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
13#
发表于 2015-4-11 12:53:45 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
若相依 该用户已被删除
14#
发表于 2015-4-13 18:14:07 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
兰色精灵 该用户已被删除
15#
发表于 2015-4-17 14:03:55 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
小女巫 该用户已被删除
16#
发表于 2015-4-18 14:27:37 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
admin 该用户已被删除
17#
发表于 2015-4-21 00:05:32 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
愤怒的大鸟 该用户已被删除
18#
发表于 2015-4-21 22:11:58 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
冷月葬花魂 该用户已被删除
19#
发表于 2015-4-25 01:30:02 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
老尸 该用户已被删除
20#
发表于 2015-5-2 15:55:44 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 13:14

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表