php 判断变量类型程序代码详解

 更新时间:2016年11月25日 15:04  点击:2091
在php中检查变量类型的方法很简单,利用gettype()函数就可返回当前变量类型的了,下面我来给各位朋友详细介绍如何利用gettype函数检查变量类型,有需要了解的朋友可参考。

string gettype ( mixed $var ) 返回 PHP 变量的类型 var.

 代码如下 复制代码

<?php
function get_type($var)
{
    if(is_object($var))
        return get_class($var);
    if(is_null($var))
        return 'null';
    if(is_string($var))
        return 'string';
    if(is_array($var))
        return 'array';
    if(is_int($var))
        return 'integer';
    if(is_bool($var))
        return 'boolean';
    if(is_float($var))
        return 'float';
    if(is_resource($var))
        return 'resource';
    //throw new NotImplementedException();
    return 'unknown';
}
?>

官方说:不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含

了字符串的比较,它的运行也是较慢的。

使用 is_* 函数代替。

 代码如下 复制代码

<?php
    /**
     * Returns the type of the var passed.
     *
     * @param mixed $var Variable
     * @return string Type of variable
     */
    function myGetType($var)
    {
        if (is_array($var)) return "array";
        if (is_bool($var)) return "boolean";
        if (is_float($var)) return "float";
        if (is_int($var)) return "integer";
        if (is_null($var)) return "NULL";
        if (is_numeric($var)) return "numeric";
        if (is_object($var)) return "object";
        if (is_resource($var)) return "resource";
        if (is_string($var)) return "string";
        return "unknown type";
    }
?>


其它的些变量类型判断收藏

array_key_exists(mixed key, array search) ://检查给定的键名或索引是不是存在于数组中  判断数据类型

is_numeric ( mixed var ): //检验测定变量是不是为数码或数码字符串

is_bool($ var): //检验测定变量是不是是布尔型

is_float($ var): //检验测定变量是不是是浮点型 和is_double,is_real()都同样的用法

is_int($ var): //检验测定变量是不是是整儿is_integer()同样的用法

is_string($ var): //检验测定变量是不是是字符串

is_object($ var): //检验测定变量是不是是一个对象

is_array($ var): //检验测定变量是不是是数组

is_null($ var): //检验测定变量是不是为 null

在php中判断变量为空我们有很多种方法,php为我们提供了empty,isset,var == null,is_null等等函数来进行变量判断,下面我来给大家分享这些方法的使用方法。

empty() 与 isset() 的一个简单比较。

 代码如下 复制代码

<?php
        $var = 0; // 结果为 true,因为 $var 为空
        // 结果为 true,因为 $var =0
        if (empty($var)) { echo '$var is either 0 or not set at all'; }
        //结果为false, 因为$var已经设置了
        if (!isset($var)) { echo '$var is not set at all'; } 
?>  

上面的empty与isset判断为没有任何属性的对象都将被认为是空.

 var == null

功能:判断变量是否为“空”
说明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将判断为 null
注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

 

 代码如下 复制代码

$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空

// Undefined variable: c


is_null

 代码如下 复制代码

$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL

// Undefined variable: c

变量==0 或 变量===0

 代码如下 复制代码

$a ===0  $a ===""
$a ==0 等于 $a ==""

在php url传参数时

php页面的 URL 尾部参数出现 id=0 时(比如:test.php?id=0),试比较:

 代码如下 复制代码

if(empty($id)) $id=1; // 若 id=0 ,id 也会为1
if(!isset($id)) $id=1; // 若 id=0 ,id 不会为1 
可分开运行以下代码检测上述推断:

if(empty($id)) $id=1;
   print $id; // 得到 1 
if(!isset($id)) $id=1;
   print $id; //得到 0 


总结

在php中NULL与空是两种不同的概念,

isset  主要用来判断变量是否被初始化过
empty  可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE
is_null  仅把值为 “NULL” 的变量判断为TRUE
var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE
var === null  仅把值为 “NULL” 的变量判断为TRUE

其它一些可能用到php变量判断的函数

isset($ var) : //变量是不是已经声明

empty($ var): //变量是不是为空

defined($ var): //常量是不是已经定义 define()

is_array($ var): //检验测定变量是不是是数组

is_null($ var): //检验测定变量是不是为 null

在php中变量类型我们有常用变量与常量,下面我来给大家介绍如何在php中来判断常量与变量是否己经在存了,有需要了解的朋友可进入参考。

defined() 函数检查某常量是否存在。

若常量存在,则返回 true,否则返回 false。

 代码如下 复制代码


if (defined('MYCONSTANT')) {   
    echo "常量MYCONSTANT存在";
}else{
    echo "常量MYCONSTANT不存在";
}
echo "<br/>";


isset函数是检测变量是否设置。

1.若变量不存在则返回 FALSE
2.若变量存在且其值为NULL,也返回 FALSE
3.若变量存在且值不为NULL,则返回 TURE
4.同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为

 代码如下 复制代码

<?php

$var = '';

if (isset($var)) {
print "This var is set set so I will print.";
}

// 在后边的例子中,我们将使用 var_dump函数 输出 isset() 的返回值。

$a = "test";
$b = "anothertest";

var_dump( isset($a) ); // TRUE
var_dump( isset ($a, $b) ); // TRUE

unset ($a);

var_dump( isset ($a) ); // FALSE
var_dump( isset ($a, $b) ); // FALSE

$foo = NULL;
var_dump( isset ($foo) ); // FALSE

?>

这对于数组中的元素也同样有效:

 代码如下 复制代码

<?php

$a = array ('test' => 1, 'hello' => NULL);

var_dump( isset ($a['test') ); // TRUE
var_dump( isset ($a['foo') ); // FALSE
var_dump( isset ($a['hello') ); // FALSE

// 'hello' 等于 NULL,所以被认为是未赋值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump( array_key_exists('hello', $a) ); // TRUE

?>

 

function_exists判断函数是否存在

 代码如下 复制代码

<?php
if (function_exists('test_func')) {
    echo "函数test_func存在";
} else {
    echo "函数test_func不存在";
}
?>

filter_has_var函数

filter_has_var() 函数检查是否存在指定输入类型的变量。

若成功,则返回 true,否则返回 false。

 代码如下 复制代码

<?php
if(!filter_has_var(INPUT_GET, "name"))
 {
 echo("Input type does not exist");
 }
else
 {
 echo("Input type exists");
 }
?>

输出为. Input type exists

有朋友问我打开php文件的软件呢,下面我来给大家详细介绍人php文件是什么文件以及怎么打开php文件吧,有需要了解的朋友可参考.

什么是php文件

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

一段php代码

 代码如下 复制代码

<?php
namespace Math
{
class Complex
{
//...code...
function __construct()
{
print("hey");
}
}
}
$m = new Math::Complex();
?>

php文件用什么打开

php文件打开软件有很多很多,只要是编辑软件都可以用一打开php文件哦,如:记事本,DW,fontpage等等都可以打开

php怎么运行

php是超文本预处理语言,我们需要php支持环境才行,如:apache+php环境或是iis+php环境都可以运行php哦。

本文章给各位php入门者提供一篇从数据库的创建到最后的读写留言板过程全部分享给各位朋友,有需要了解的可参考参考。

创建一个数据表

 代码如下 复制代码

CREATE TABLE `message` (

`id` tinyint(1) NOT NULL auto_increment,

`user` varchar(25) NOT NULL,

`title` varchar(50) NOT NULL,

`content` tinytext NOT NULL,

`lastdate` date NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;

数据库连接文件

数据库连接的代码比较固定。先新建一个conn.php文件,输入下面代码:

 代码如下 复制代码

<?php

$conn =  mysql_connect("localhost", "root", "") or die("数据库链接错误");

mysql_select_db("test", $conn);

mysql_query("set names ‘GBK'"); //使用GBK中文编码;

?>

编写发表留言页面文件
新建文件add.php,输入如下代码:

 代码如下 复制代码

<?php

include("conn.php");

if($_POST['submit']){

$sql="insert into message (id,user,title,content,lastdate) values (",'$_POST[user]‘,'$_POST[biaoti]‘,'$_POST[content]‘,now())";

mysql_query($sql);

echo "成功发表!";

}

?>

</table>

<br />

<h2>发表留言框</h2>

<form action="add.php" method="post" >

用户:

<input type="text" name="user" size="10" /><br />

标题:

<input type="text" name="biaoti" size="20" /><br />

<textarea name="content" rows="10" cols="50" wrap="off">

</textarea><br />

<input type="submit" name="submit" value="发表"/>

</form>


编写留言列表文件
新建文件list.php,输入如下代码:

 代码如下 复制代码

<?php

include ("conn.php");

?>

<table width="500px" border="0" alien="center" >

<?php

$sql="select * from message ";

$query=mysql_query($sql);

while($row=mysql_fetch_array($query)){  ?>

<tr><td>标题: <?php echo $row['title'];?> 用户:<?php echo $row['user'];?></td></tr>

<tr><td>发表内容:<?php echo $row['content'];?></td></tr>

<?php } ?>

</table>

注意,这只是一篇入门类型的php教程,如果你想用于网络请做一些安全与sql注入过滤哦,否则会很不安全的哦。

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • C#变量命名规则小结

    本文主要介绍了C#变量命名规则小结,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-09
  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • 解决vue的router组件component在import时不能使用变量问题

    这篇文章主要介绍了解决vue的router组件component在import时不能使用变量问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • 一个奇葩的最短的 IE 版本判断JS脚本

    使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:复制代码 代码...2014-05-31
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • c# 判断是否为空然后赋值的4种实现方法

    下面小编就为大家分享一篇c# 判断是否为空然后赋值的4种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • Vue select 绑定动态变量的实例讲解

    这篇文章主要介绍了Vue select 绑定动态变量的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-23
  • PHP开发微信支付的代码分享

    微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31