详解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数组函数
Aug 18 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
thinkphp项目如何自定义微信分享描述内容
Feb 20 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
php批量删除操作(数据访问)
May 23 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP学习记录之数组函数
Jun 01 PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
使用Python编写vim插件的简单示例
2015/04/17 Python
python计算圆周率pi的方法
2015/07/11 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
python pygame模块编写飞机大战
2018/11/20 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
python基于opencv实现人脸识别
2021/01/04 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
工程师岗位职责
2013/11/08 职场文书
社区庆八一活动方案
2014/02/02 职场文书
员工拓展培训方案
2014/02/15 职场文书
班级团队活动方案
2014/08/14 职场文书
烈士陵园观后感
2015/06/08 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技