本文实例讲述了PHP弱类型语言中类型判断操作。分享给大家供大家参考,具体如下:

1、php一个数字和一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。
例如:123abc转换后应该是123,而abc则为0,0==0这当然是成立的.具体可以参考官方手册:如果比较一个整数和字符串,则字符串会被转换为整数
$a = ($b=4)+5;
echo $a; //9
echo '<p>';
var_dump(1=='1a'); //true
echo '<p>';
var_dump(1=='2a'); //false
echo '<p>';
var_dump(1=='a1'); //false
echo '<p>';
var_dump("1"=='1a'); //false
echo '<p>';
var_dump('51a'+6); //57
echo '<p>';
var_dump('a51'+6); //6
2、在PHP中,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等,参考如下示例
$a = null; $b = ''; $c = 0; echo ($a == $b) ? 1 : 0; // 输出1 echo ($a === $b) ? 1 : 0; // 输出0 echo ($a == $c) ? 1 : 0; // 输出1 echo ($a === $c) ? 1 : 0; // 输出0 echo ($b == $c) ? 1 : 0; // 输出1 echo ($b === $c) ? 1 : 0; // 输出0
3、php中的empty和isset函数
1)变量为:0,"0",null,'',false,array()时,使用empty函数,返回的都为true
2)变量未定义或者为null时,isset函数返回的为false,其他都未true
$a = null; $b = ''; $c = 0; $d = "0"; $e = false; $f = array(); var_dump(empty($a)); //true echo '<p>'; var_dump(empty($b)); //true echo '<p>'; var_dump(empty($c)); //true echo '<p>'; var_dump(empty($d)); //true echo '<p>'; var_dump(empty($e)); //true echo '<p>'; var_dump(empty($f)); //true echo '<p>'; var_dump(isset($a)); //false echo '<p>'; var_dump(isset($b)); //true echo '<p>'; var_dump(isset($c)); //true echo '<p>'; var_dump(isset($d)); //true echo '<p>'; var_dump(isset($e)); //true echo '<p>'; var_dump(isset($f)); //true echo '<p>'; var_dump(isset($g)); //false
4、使用strpos之类的函数要用恒等于来判断
$sms = "abc";
if(strpos($sms,'a') != false ){
echo 1;
}else{
echo 2;
}
这种情况,很明显是判断abc字符串中,是否包含a,预期结果应该是要输出1的,实际结果输出为2。这是因为strpos函数匹配不到目标字符串时,返回false,匹配到了目标字符串时,会返回目标字符串,在搜索字符串中的索引位置,此处返回了0。
$sms = "abc";
if(strpos($sms,'a') !== false ){
echo 1;
}else{
echo 2;
}
改成恒等于,才是正确的。
5、换行需要双引号
$time = date('Y-m-d H:i:s').'\r\n';
file_put_contents('filename.txt', $time , FILE_APPEND);
如果这样写,打开文件是这样的2016-09-02 08:04:04\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:05\r\n2016-09-02 08:04:22
正确的写法是\r\n,使用双引号包起来
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP运算与运算符用法总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》及《PHP数组(Array)操作技巧大全》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 弱类型
# 类型判断
# PHP数组内存利用率低和弱类型详细解读
# PHP弱类型的安全问题详细总结
# 浅谈php中变量的数据类型判断函数
# php数据类型判断函数有哪些
# php 上传文件类型判断函数(避免上传漏洞 )
# PHP 文件类型判断代码
# 常用的php对象类型判断
# php判断变量类型常用方法
# PHP 判断变量类型实现代码
# php 判断服务器操作系统的类型
# 会先
# 的是
# 双引号
# 相关内容
# 才是
# 是这样
# 感兴趣
# 恒等
# 给大家
# 要用
# 这种情况
# 会把
# 很明显
# 这是因为
# 转换成
# 更多关于
# 转换为
# 都为
# 则为
# 所述
相关文章:
如何选择PHP开源工具快速搭建网站?
南宁网站建设制作定制,南宁网站建设可以定制吗?
如何通过多用户协作模板快速搭建高效企业网站?
如何在橙子建站中快速调整背景颜色?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
做企业网站制作流程,企业网站制作基本流程有哪些?
Android自定义listview布局实现上拉加载下拉刷新功能
广东企业建站网站优化与SEO营销核心策略指南
如何选择高效便捷的WAP商城建站系统?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
建站之星后台密码遗忘?如何快速找回?
如何选择网络建站服务器?高效建站必看指南
建站DNS解析失败?如何正确配置域名服务器?
如何用好域名打造高点击率的自主建站?
建站主机选购指南:核心配置与性价比推荐解析
小建面朝正北,A点实际方位是否存在偏差?
三星网站视频制作教程下载,三星w23网页如何全屏?
建站主机如何安装配置?新手必看操作指南
javascript中的try catch异常捕获机制用法分析
制作网站的公司有哪些,做一个公司网站要多少钱?
如何通过虚拟机搭建网站?详细步骤解析
如何制作一个表白网站视频,关于勇敢表白的小标题?
免费网站制作appp,免费制作app哪个平台好?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
建设网站制作价格,怎样建立自己的公司网站?
宝塔建站助手安装配置与建站模板使用全流程解析
怎么将XML数据可视化 D3.js加载XML
子杰智能建站系统|零代码开发与AI生成SEO优化指南
如何彻底删除建站之星生成的Banner?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
魔方云NAT建站如何实现端口转发?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
制作网站怎么制作,*游戏网站怎么搭建?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
北京制作网站的公司,北京铁路集团官方网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
如何在Windows虚拟主机上快速搭建网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
c# 在ASP.NET Core中管理和取消后台任务
建站之星微信建站一键生成小程序+多端营销系统
如何快速搭建二级域名独立网站?
香港服务器租用费用高吗?如何避免常见误区?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
b2c电商网站制作流程,b2c水平综合的电商平台?
建站之星如何实现PC+手机+微信网站五合一建站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何将凡科建站内容保存为本地文件?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
*请认真填写需求信息,我们会在24小时内与您取得联系。