详解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防注
Jan 15 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
浅谈php扩展imagick
Jun 02 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP实现搜索时记住状态的方法示例
May 11 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
laravel 框架实现无限级分类的方法示例
Oct 31 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 中文处理函数集合
2008/08/27 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
python多重继承新算法C3介绍
2014/09/28 Python
Python入门篇之正则表达式
2014/10/20 Python
Python正则简单实例分析
2017/03/21 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
营业员演讲稿
2013/12/30 职场文书
高三历史教学反思
2014/01/09 职场文书
信息专业大学生自我评价分享
2014/01/17 职场文书
气象学专业个人求职信
2014/04/22 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
小学大队长竞选稿
2015/11/20 职场文书