详解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 相关文章推荐
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
php数据结构与算法(PHP描述) 快速排序 quick sort
Jun 21 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
php生成excel文件的简单方法
Feb 08 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
PHP编程实现脚本异步执行的方法
Aug 09 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
在Laravel中实现使用AJAX动态刷新部分页面
Oct 15 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
ajax 的post方法实例(带循环)
2011/07/04 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
常用的9个JavaScript图表库详解
2017/12/19 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
Python求算数平方根和约数的方法汇总
2016/03/09 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python实现通讯录功能
2018/02/22 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
活动志愿者自荐信
2014/01/27 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
公务员诚信承诺书
2014/05/26 职场文书
活动总结新闻稿
2014/08/30 职场文书
道歉信范文
2015/05/12 职场文书