全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP弱类型语言中类型判断操作实例详解

本文实例讲述了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 判断服务器操作系统的类型  # 会先  # 的是  # 双引号  # 相关内容  # 才是  # 是这样  # 感兴趣  # 恒等  # 给大家  # 要用  # 这种情况  # 会把  # 很明显  # 这是因为  # 转换成  # 更多关于  # 转换为  # 都为  # 则为  # 所述 


相关文章: 如何通过西部数码建站助手快速创建专业网站?  如何撰写建站申请书?关键要点有哪些?  建站之星如何快速更换网站模板?  如何在Windows虚拟主机上快速搭建网站?  如何制作网站标识牌,动态网站如何制作(教程)?  ,石家庄四十八中学官网?  小型网站制作HTML,*游戏网站怎么搭建?  如何快速重置建站主机并恢复默认配置?  孙琪峥织梦建站教程如何优化数据库安全?  如何做静态网页,sublimetext3.0制作静态网页?  建站主机选哪家性价比最高?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  建站上传速度慢?如何优化加速网站加载效率?  如何在Golang中使用replace替换模块_指定本地或远程路径  Java解压缩zip - 解压缩多个文件或文件夹实例  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  太平洋网站制作公司,网络用语太平洋是什么意思?  建站主机功能解析:服务器选择与快速搭建指南  如何在阿里云服务器自主搭建网站?  建站主机如何选?高性价比方案全解析  全景视频制作网站有哪些,全景图怎么做成网页?  建站之星如何一键生成手机站?  如何挑选高效建站主机与优质域名?  太原网站制作公司有哪些,网约车营运证查询官网?  建站之星云端配置指南:模板选择与SEO优化一键生成  成都网站制作报价公司,成都工业用气开户费用?  盐城做公司网站,江苏电子版退休证办理流程?  建站之星后台密码遗忘?如何快速找回?  已有域名如何免费搭建网站?  建站主机类型有哪些?如何正确选型  如何在宝塔面板创建新站点?  建站10G流量真的够用吗?如何应对访问高峰?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  金*站制作公司有哪些,金华教育集团官网?  如何在云主机快速搭建网站站点?  如何用PHP快速搭建高效网站?分步指南  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  大连网站制作公司哪家好一点,大连买房网站哪个好?  怎么将XML数据可视化 D3.js加载XML  实现虚拟支付需哪些建站技术支撑?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  Swift开发中switch语句值绑定模式  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站之星ASP如何实现CMS高效搭建与安全管理?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  网站插件制作软件免费下载,网页视频怎么下到本地插件?  免费网站制作appp,免费制作app哪个平台好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。