详解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 相关文章推荐
构建简单的Webmail系统
Oct 09 PHP
其他功能
Oct 09 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
解析isset与is_null的区别
Aug 09 PHP
php生成RSS订阅的方法
Feb 13 PHP
PHP实现微信发红包程序
Aug 24 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
10个php函数实用却不常见
Oct 13 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PDO::exec讲解
Jan 28 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中uploaded_files函数使用方法详解
2011/03/09 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
利用php输出不同的心形图案
2016/04/22 PHP
分享几个超级震憾的图片特效
2012/01/08 Javascript
JS模板实现方法
2013/04/03 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
require.js的用法详解
2015/10/20 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
介绍下Java中==和equals的区别
2013/09/01 面试题
新学期班主任寄语
2014/01/18 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
主题班会演讲稿
2014/05/22 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
2014年纠风工作总结
2014/12/08 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
法律意见书范文
2015/05/20 职场文书
放飞理想主题班会
2015/08/14 职场文书
Python中X[:,0]和X[:,1]的用法
2021/05/10 Python
Python软件包安装的三种常见方法
2022/07/07 Python