当前位置: 编程技术>php
本页文章导读:
▪介绍一些PHP判断变量的函数
虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑。幸运地是,PHP的开发者注意到这一情况,因此.........
▪PHP的几个常用数字判断函数代码
代码如下: <HTML> <HEAD> <TITLE>常用的数值判断函数</TITLE> </HEAD> <BODY> <? //判断数组 $colors = array("red", "blue", "green"); if(is_array($colors)) { print("colors is an array"."<br>");.........
▪php中邮箱地址正则表达式实现与详解
首先附上代码 代码如下: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ 在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一.........
[1]介绍一些PHP判断变量的函数
来源: 互联网 发布时间: 2013-11-30
虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑。幸运地是,PHP的开发者注意到这一情况,因此在其中包含了一个函数工具包,特别用它来测试变量并查明它们属于哪个特定的字符类别——也就是说,它们是否包含字符串、整数、对象或布尔值。
下面列出了这一类别中较为有用的函数,并提供说明与应用实例。
empty($var)
这个函数用来检查变量是否为空(没有值或零值)。用此函数来检查用户输入,例如,表格变量。保证它们包含有效数据。
<?php
// returns false
$var = "hello";
echo empty($var) ? "true" : "false";
// returns true
$var = 0000;
echo empty ($var) ? "true" : "false";
?>
gettype($var)
这个函数返回变量的类型。例如,"字符串"、"整数"、"布尔值"、"浮点值"等。在把变量插入严格类型的数据库域前,一般用此函数来验证变量是否为你期待的类型。
<?php
// returns string
$var = "hello";
echo gettype($var);
//returns double
$var = 1000.56;
echo gettype($var);
?>
is_bool($var)
这个函数测试一个变量看它是否包含一个布尔值(真/假)。用此函数检查变量是否为布尔变量。
<?php
// returns true
$var = false;
echo is_bool($var) ? "true" : "false";
?>
is_string($var)
这个函数测试一个变量是否为字符串变量。用此函数检查一个变量是否包含字符串数据。
<?php
// returns true
$var = "exception";
echo is_string($var) ? "true" : "false";
// returns true
$var = "88408";
echo is_string($var) ? "true" : "false";
?>
is_numeric($var)
这个函数测试一个变量看它是否包含一个数字或数字字符串(字符串包括一个符号、数字与小数点)。在将变量用于计算前,用此函数来验证它是否包含一个数字。
<?php
// returns true
$var = "+99.766";
echo is_numeric($var) ? "true" : "false";
// returns false
$var = "b00";
echo is_numeric($var) ? "true" : "false";
?>
is_array($var)
这个函数测试一个变量看它是一个PHP相关或是数字顺序索引数组。在循环中进行处理前,用此函数来检查变量是否为一个数组。
<?php
// returns true
$var = array("tiger", "lion", "zebra");
echo is_array($var) ? "true" : "false";
// returns false
$var = "zebra";
echo is_array($var) ? "true" : "false";
?>
is_null($var)
这个函数测试一个变量看它是否为NULL。在评估由SQL查询返回的数据时,用此函数来检查一个变量是否为NULL。
<?php
// returns false
$var = "aa";
echo is_null($var) ? "true" : "false";
// returns true
$var = null;
echo is_null($var) ? "true" : "false";
?>
is_object($var)
这个函数测试一个变量看它是否为一个PHP对象。在调用一个方法或访问属性前,一般用此函数来测试变量是否为PHP对象。
<?php
// returns false
$var = "exception";
echo is_object($var) ? "true" : "false";
// returns true
$var = new Exception;
echo is_object($var) ? "true" : "false";
?>
isset($var)
这个函数测试一个变量看它是否已被定义。在评估表格提交的结果时,一般用此函数来测试一个变量是否被定义。
<?php
// returns true
$var = "yes";
echo isset($var) ? "true" : "false";
// returns false
echo isset($test) ? "true" : "false";
?>
print_r($var)
这个函数打印一个变量的内容。用此函数来"窥探"一个变量,特别是在调试一个脚本时。
<?php
$var = array("one", "two", array("red", "green"), new Exception, 467);
print_r($var);
?>
下面列出了这一类别中较为有用的函数,并提供说明与应用实例。
empty($var)
这个函数用来检查变量是否为空(没有值或零值)。用此函数来检查用户输入,例如,表格变量。保证它们包含有效数据。
代码如下:
<?php
// returns false
$var = "hello";
echo empty($var) ? "true" : "false";
// returns true
$var = 0000;
echo empty ($var) ? "true" : "false";
?>
gettype($var)
这个函数返回变量的类型。例如,"字符串"、"整数"、"布尔值"、"浮点值"等。在把变量插入严格类型的数据库域前,一般用此函数来验证变量是否为你期待的类型。
代码如下:
<?php
// returns string
$var = "hello";
echo gettype($var);
//returns double
$var = 1000.56;
echo gettype($var);
?>
is_bool($var)
这个函数测试一个变量看它是否包含一个布尔值(真/假)。用此函数检查变量是否为布尔变量。
代码如下:
<?php
// returns true
$var = false;
echo is_bool($var) ? "true" : "false";
?>
is_string($var)
这个函数测试一个变量是否为字符串变量。用此函数检查一个变量是否包含字符串数据。
代码如下:
<?php
// returns true
$var = "exception";
echo is_string($var) ? "true" : "false";
// returns true
$var = "88408";
echo is_string($var) ? "true" : "false";
?>
is_numeric($var)
这个函数测试一个变量看它是否包含一个数字或数字字符串(字符串包括一个符号、数字与小数点)。在将变量用于计算前,用此函数来验证它是否包含一个数字。
代码如下:
<?php
// returns true
$var = "+99.766";
echo is_numeric($var) ? "true" : "false";
// returns false
$var = "b00";
echo is_numeric($var) ? "true" : "false";
?>
is_array($var)
这个函数测试一个变量看它是一个PHP相关或是数字顺序索引数组。在循环中进行处理前,用此函数来检查变量是否为一个数组。
代码如下:
<?php
// returns true
$var = array("tiger", "lion", "zebra");
echo is_array($var) ? "true" : "false";
// returns false
$var = "zebra";
echo is_array($var) ? "true" : "false";
?>
is_null($var)
这个函数测试一个变量看它是否为NULL。在评估由SQL查询返回的数据时,用此函数来检查一个变量是否为NULL。
代码如下:
<?php
// returns false
$var = "aa";
echo is_null($var) ? "true" : "false";
// returns true
$var = null;
echo is_null($var) ? "true" : "false";
?>
is_object($var)
这个函数测试一个变量看它是否为一个PHP对象。在调用一个方法或访问属性前,一般用此函数来测试变量是否为PHP对象。
代码如下:
<?php
// returns false
$var = "exception";
echo is_object($var) ? "true" : "false";
// returns true
$var = new Exception;
echo is_object($var) ? "true" : "false";
?>
isset($var)
这个函数测试一个变量看它是否已被定义。在评估表格提交的结果时,一般用此函数来测试一个变量是否被定义。
代码如下:
<?php
// returns true
$var = "yes";
echo isset($var) ? "true" : "false";
// returns false
echo isset($test) ? "true" : "false";
?>
print_r($var)
这个函数打印一个变量的内容。用此函数来"窥探"一个变量,特别是在调试一个脚本时。
代码如下:
<?php
$var = array("one", "two", array("red", "green"), new Exception, 467);
print_r($var);
?>
[2]PHP的几个常用数字判断函数代码
来源: 互联网 发布时间: 2013-11-30
代码如下:
<HTML>
<HEAD>
<TITLE>常用的数值判断函数</TITLE>
</HEAD>
<BODY>
<?
//判断数组
$colors = array("red", "blue", "green");
if(is_array($colors))
{
print("colors is an array"."<br>");
}
//双精度数判断
$Temperature = 15.23;
if(is_double($Temperature))
{
print("Temperature is a double"."<br>");
}
//整数判断
$PageCount = 2234;
if(is_integer($PageCount))
{
print("$PageCount is an integer"."<br>");
}
//对象判断
class widget
{
var $name;
var $length;
}
$thing = new widget;
if(is_object($thing))
{
print("thing is an object"."<br>");
}
//字符判断
$Greeting = "Hello";
if(is_string($Greeting))
{
print("Greeting is a string"."<br>");
}
?>
</BODY>
</HTML>
[3]php中邮箱地址正则表达式实现与详解
来源: 互联网 发布时间: 2013-11-30
首先附上代码
^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$
在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾;
“.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中的任意字符;
这样一来,这个正则表达式可以这样翻译:
“下面的字符必须在开头(^)”、“该字符必须包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中([_.0-9a-z-])”、“前面这个字符至少出现一次(+)”、@、“该字符串由一个包含在从a到z范围内的一个字母、从0到9范围内的数字中的字符开头,后面跟至少一个包含在“-”、从a到z范围内任何一个字母、从0到9范围内任何一个数字中的字符,最后以.结束(([0-9a-z][0-9a-z-]+.))”、“前面这个字符至少出现一次(+)”、“从a到z范围内的字母出现2-3次,并以它结束([a-z]{2,3}$)”
function is_valid_email($email, $test_mx = false)
{
if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[ wind_phpcode_0 ]quot;, $email))
if($test_mx)
{
list($username, $domain) = split("@", $email);
return getmxrr($domain, $mxrecords);
}
else
return true;
else
return false;
}
域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/内容/i 构成一个不区分大小写的正则表达式;
^ 匹配开始
$ 匹配结束
[a-z] E-Mail前缀必需是一个英文字母开头
([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。
*表示0个或多个前面的字符.
[a-z0-9]* 匹配0个或多个英文字母或者数字
[-_]? 匹配0个或1“-”,因为“-”不能连续出现
[a-z0-9]+ 匹配1个或多个英文字母或者数字,因为“-”不能做为结尾
@ 必需有个有@
([a-z0-9]*[-_]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。
[.] 将特殊字符(.)当成普通字符
[a-z]{2,3} 匹配2个至3个英文字母,一般为com或者net等.
([.][a-z]{2})? 匹配0个或者1个[.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}
完美E-Mail正则表达式,附详细讲解,请大家帮忙测试一下! 2.抽取字符串中的email:
<?php
function getEmail($str) {
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
preg_match_all($pattern,$str,$emailArr);
return $emailArr[0];
}
$emailstr = "9999@qq.com.cn俺不是米vi地方就开iid邮件列表:fuyongjie@163.com和hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";
$emailArr = getEmail($emailstr);
echo "<pre>";
print_r($emailArr);
echo "</pre>";
?>打印如下:
Array
(
[0] =>9999@qq.com.cn
[1] =>fuyongjie@163.com
[2] =>hh@qq.com
[3] =>fuyongjie.100@yahoo.com
[4] =>fu-1999@sina.com
)3.比较:第2里的正则里没有了第1的^和$;
再看实例
function funcemail($str)//邮箱正则表达式
{
return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false;
}//验证方法一
$str="qbcd@126.com.cn";
preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2,3}$/",$str,$re);
print_r($re);//邮箱验证二
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "您的 e-mail 通过初步检查";
}//第三种邮箱验证方法
if (ereg("/^[a-z]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; ",$email)){
echo "your email address is correct!";}
else{
echo "please try again!";
}
代码如下:
^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$
在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾;
“.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中的任意字符;
这样一来,这个正则表达式可以这样翻译:
“下面的字符必须在开头(^)”、“该字符必须包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中([_.0-9a-z-])”、“前面这个字符至少出现一次(+)”、@、“该字符串由一个包含在从a到z范围内的一个字母、从0到9范围内的数字中的字符开头,后面跟至少一个包含在“-”、从a到z范围内任何一个字母、从0到9范围内任何一个数字中的字符,最后以.结束(([0-9a-z][0-9a-z-]+.))”、“前面这个字符至少出现一次(+)”、“从a到z范围内的字母出现2-3次,并以它结束([a-z]{2,3}$)”
代码如下:
function is_valid_email($email, $test_mx = false)
{
if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[ wind_phpcode_0 ]quot;, $email))
if($test_mx)
{
list($username, $domain) = split("@", $email);
return getmxrr($domain, $mxrecords);
}
else
return true;
else
return false;
}
域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/内容/i 构成一个不区分大小写的正则表达式;
^ 匹配开始
$ 匹配结束
[a-z] E-Mail前缀必需是一个英文字母开头
([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。
*表示0个或多个前面的字符.
[a-z0-9]* 匹配0个或多个英文字母或者数字
[-_]? 匹配0个或1“-”,因为“-”不能连续出现
[a-z0-9]+ 匹配1个或多个英文字母或者数字,因为“-”不能做为结尾
@ 必需有个有@
([a-z0-9]*[-_]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。
[.] 将特殊字符(.)当成普通字符
[a-z]{2,3} 匹配2个至3个英文字母,一般为com或者net等.
([.][a-z]{2})? 匹配0个或者1个[.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}
完美E-Mail正则表达式,附详细讲解,请大家帮忙测试一下! 2.抽取字符串中的email:
代码如下:
<?php
function getEmail($str) {
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
preg_match_all($pattern,$str,$emailArr);
return $emailArr[0];
}
$emailstr = "9999@qq.com.cn俺不是米vi地方就开iid邮件列表:fuyongjie@163.com和hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";
$emailArr = getEmail($emailstr);
echo "<pre>";
print_r($emailArr);
echo "</pre>";
?>打印如下:
Array
(
[0] =>9999@qq.com.cn
[1] =>fuyongjie@163.com
[2] =>hh@qq.com
[3] =>fuyongjie.100@yahoo.com
[4] =>fu-1999@sina.com
)3.比较:第2里的正则里没有了第1的^和$;
再看实例
代码如下:
function funcemail($str)//邮箱正则表达式
{
return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false;
}//验证方法一
$str="qbcd@126.com.cn";
preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2,3}$/",$str,$re);
print_r($re);//邮箱验证二
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "您的 e-mail 通过初步检查";
}//第三种邮箱验证方法
if (ereg("/^[a-z]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; ",$email)){
echo "your email address is correct!";}
else{
echo "please try again!";
}
最新技术文章: