详解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文件中bom的PHP代码
Mar 13 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
Yii框架中memcache用法实例
Dec 03 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
详谈php中 strtr 和 str_replace 的效率问题
May 14 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 PHP
PHP7 新增常量
Mar 09 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
使用eAccelerator加密PHP程序
2008/10/03 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
Python文件和目录操作详解
2015/02/08 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
python同步两个文件夹下的内容
2019/08/29 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
python安装及变量名介绍详解
2020/12/12 Python
css3实现input输入框颜色渐变发光效果代码
2014/04/02 HTML / CSS
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
征婚广告词
2014/03/17 职场文书
2015年考研复习计划
2015/01/19 职场文书
公司财务部岗位职责
2015/04/14 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
导游词之山东八大关
2019/12/18 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
解决python存数据库速度太慢的问题
2021/04/23 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python