详解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&amp;&amp;mysql)五
Oct 09 PHP
php 面向对象的一个例子
Apr 12 PHP
PHP把数字转成人民币大写的函数分享
Jun 30 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
Python获取某一天是星期几的方法示例
2017/01/17 Python
Python 调用Java实例详解
2017/06/02 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
销售部主管岗位职责
2013/12/18 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
党委领导班子整改方案
2014/09/30 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
公司会议开幕词
2016/03/03 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers