详解php中空字符串和0之间的关系


Posted in PHP onOctober 23, 2016

前言

最近在处理关于经纬度的问题时,在建表的时候,选择用字符串varchar存储经度、纬度。为以后的问题埋下伏笔。下面话不多说,我们来看看详细的介绍。

$_x=$row["x"];
$_y=$row["y"];
if(isset($_x) && isset($_y)){
 if($row["y"] == 0 || $row["x"] == 0){
  $d=$this->getDistance($row["y"],$row["x"],$y,$x);
 }elseif(!empty($row["y"]) && !empty($row["x"])){
  $d=$this->getDistance($row["y"],$row["x"],$y,$x);
 }else{
  continue;
 }
 if($d < $radius){
  $list[]= $data[$key];
 }
}

其实我是想要 过滤掉 经纬度为空的数据,保留经度或纬度为0的数据,但发现在打印列表数据时,总是包含 经纬度为空的数据。

研究了好久,才发现经纬度字段是字符类型,当字段为空时进行  $row['y']== 0 判断时,PHP进行自动转换,所以$row['y']== 0判断在空字符的情况下是正确的。于是总是包含经纬度为空的数据。那么怎么去掉经纬度为空的数据呢?

其实很简单如下:

if(isset($_x) && isset($_y)){
 if($row["y"] == "0" || $row["x"] == "0"){
  $d=$this->getDistance($row["y"],$row["x"],$y,$x);

立即过滤掉经纬度为空的数据。

下面是对preg_replace_callback进行代码讲解

$str="sdjfksdf2345";
$str=preg_replace_callback ( '/\d{4}/', function ($match){
 return $match[0]."ff";
}, $str );
echo $str;
exit;

代码运行结果为

sdjfksdf2345ff

该函数就是将正则匹配的结果作为匿名函数的参数,返回的结果作为替换的结果。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
在php MYSQL中插入当前时间
Apr 06 PHP
php5.3 废弃函数小结
May 16 PHP
PHP XML数据解析代码
May 26 PHP
解析php常用image图像函数集
Jun 24 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
Jul 15 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 #PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 #PHP
PHP 常用时间函数资料整理
Oct 22 #PHP
详解PHP编码转换函数应用技巧
Oct 22 #PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 #PHP
PHP实现多关键字加亮功能
Oct 21 #PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 #PHP
You might like
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
PyQt5响应回车事件的方法
2019/06/25 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
综合测评自我鉴定
2013/10/08 职场文书
求职信写作要突出重点
2014/01/01 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
优秀党支部申报材料
2014/12/24 职场文书
先进教师个人总结
2015/02/11 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
公司新员工欢迎词
2015/09/30 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL