zoukankan      html  css  js  c++  java
  • 详解php中空字符串和0之间的关系

    $_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

    该函数就是将正则匹配的结果作为匿名函数的参数,返回的结果作为替换的结果。

    max_execution_time

    默认是30秒.改为

    max_execution_time = 0

    0表示没有限制

    2. 修改 post_max_size

    post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
    php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
    查找 post_max_size改为

    post_max_size = 150M

    3. 修改upload_max_filesize

    upload_max_filesize 表示所上传的文件的最大大小。

    查找upload_max_filesize,默认为8M改为

    upload_max_filesize = 100M

    另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

  • 相关阅读:
    6th Alpha阶段的postmortem报告
    两种open()函数
    文件操作权限第一位的0是什么意思
    vi的查找与替换
    浅析Linux下的/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc文件
    Linux命令总结:file
    Linux下/boot目录
    英语单词简记
    Linux下grep命令
    Linux下find命令
  • 原文地址:https://www.cnblogs.com/2881064178dinfeng/p/6170934.html
Copyright © 2011-2022 走看看