详解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
Oct 09 PHP
set_include_path在win和linux下的区别
Jan 10 PHP
php 破解防盗链图片函数
Dec 09 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
基于PHP制作验证码
Oct 12 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
PHP中使用mpdf 导出PDF文件的实现方法
Oct 22 PHP
php实现微信小程序授权登录功能(实现流程)
Nov 13 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
linux iconv方法的使用
2011/10/01 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
php给图片加文字水印
2015/07/31 PHP
php设计模式之单例模式代码
2016/06/11 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
[01:00:06]加油DOTA_EP01_网络版
2014/08/09 DOTA
Python字典简介以及用法详解
2016/11/15 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
python使用Geany编辑器配置方法
2020/02/21 Python
python实现梯度下降法
2020/03/24 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
《小猪家的桃花树》教学反思
2014/04/11 职场文书
2014年班主任自我评价范文
2014/04/23 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
电话营销开场白
2015/05/29 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书