开发中遇到的小细节问题(url路由中的&和?号 与 == 判断变量是否相等)

1、今天从浏览器使用url请求的时候使用如下请求地址:

 http://192.168.33.10:18086/x/sign/list&sid=95e781c23e472fd6df4a4f5be2abc168

大家看出有什么问题了吗?我其实第一眼看过去也没有什么问题,但是页面上面上面一直报404,如下报错:

{

  • code-404,
  • message"Not Found",
  • data: [ ]

}

not found,

这个问题找了半天,也没发现错在哪里,最后让同事看了一下,一下就看出问题在哪里了,你用的是 & 这个符号,url把&以及它后面的都当成一个路由,所有找不到这个请求。

同时也明白了 ? 是 url中第一个参数的分隔符, & 符号是不同参数的间隔符

小细节问题,开发的时候不注意的话需要好长时间才发现,(笑哭)


2、今天上线代码,上线不到10分钟就有人反馈有问题,当时一阵害怕,具体错误就是如下的代码引起的

<?php
    if ($a = 5) {
        echo 123;
    }

没看错,就是这么低级的错误,就是上线的时候才发现

同时也深刻的明白了为什么很多大神们这样写

<?php
    if (5 == $a) {
        echo 123;

    }

如果没有定义这个变量,这里应该是  Undefined variable: a 

<?php
    if (5 = $a) {
        echo 123;

    }

如果是漏写的 = 号,也就是 == 写成 =,就会出现如下报错:

PHP Parse error:  syntax error, unexpected '='

以后还是 if ( 5 == $a) 这样写吧,吃一堑长一智。

很多细节问题自己遇到的时候才会知道为什么,平时看书或者看别人代码的时候多想一下为什么别人这样写,同时看手册的时候仔细一点!耐心、细心、用心!


猜你喜欢

转载自blog.csdn.net/zpf_nevergiveup/article/details/79807943