详解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 基础教程(二)
Oct 09 PHP
php实现的MySQL通用查询程序
Mar 11 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
php除数取整示例
Apr 24 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
Sep 22 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
php删除数组指定元素实现代码
May 03 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 PHP
如何在centos8自定义目录安装php7.3
Nov 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
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
ThinkPHP CURD方法之field方法详解
2014/06/18 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
学习python的几条建议分享
2013/02/10 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
python3实现磁盘空间监控
2018/06/21 Python
python3判断url链接是否为404的方法
2018/08/10 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
详解python运行三种方式
2019/05/13 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
python ubplot使用方法解析
2020/01/10 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
没编程基础可以学python吗
2020/06/17 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
财务管理专业应届毕业生求职信
2013/09/22 职场文书
学校花圃的标语
2014/06/18 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
读书笔记怎么写
2015/07/01 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL