• 一些新奇的玩意【php篇--持续更新】


    人不进步就等于退步!

    接触越多的人以及事就能学到更多的东西。

    以下仅为本人记录的一些新奇的东西,不喜勿喷!

    1.??运算符号,在新的项目中突然发现很多红线报错,还以为是错误!看了下,是??运算的问题,以前楼主没试过这样写过。故写了一个简单的测试代码:

    代码:

    1 $b = 0??5;
    2 dump($b);

    其中输出为5,当讲第一行代码中的0更换为1时候,输出为1;

    2.?:运算符  这个三目运算符并不陌生,但是看到了大神们的杰作,才发现自己当初的真的是做多了很多步骤:

    public function test(){
            $a = 0?:3;
            dump($a);
    }

    同理,输出为3,当将0更换为1时候,输出为1。

    3.数组增加元素的新玩法:

    之前楼猪在使用数组的时候,通常都是:

    1     public function old_array(){
    2         $arr = [];
    3         $arr[] = 123;
    4         $arr[] = 456;
    5     }

    这样新增的时候,之前还觉得听方便的,不用知道数组里面含有多少个元素,不需要管数组的索引。

    但是看了一些大神的代码,感觉自己当初真的是循规蹈矩~~~:

     1 $arr = [
     2             1 => '123',
     3             3 => '456',
     4             4 => '789',
     5         ];
     6         dump($arr);
     7         $arr += [
     8             2 => '321',
     9             5 => '654',
    10         ];
    11         dump($arr);

    这个样子看起来需要记住所以,但是在一些场合还是挺好用的,例如你需要知道那个中出错的代码对应哪一种错误信息,输出的结果为:

     4.php://

    种类:php://stdin, php://stdout 和 php://stderr

    官方:http://php.net/manual/zh/wrappers.php.php

    用户获取一些输入输出流;例如获取表单的提交:

    demo:

    表单:

    1 <form action="__SELF__" method="post">
    2     <label>用户名:</label>
    3     <input type="text" name="user" value="">
    4     <label>密码:</label>
    5     <input type="password" name="user" value="">
    6     <input type="button" value="登陆" onclick="login()">
    7     <input type="submit" value="提交">
    8 </form>

    后台获取:

    1 public function table(){
    2         if(IS_POST){
    3             //way 1:
    4             dump(file_get_contents('php://input'));
    5             //way 2:
    6             dump($_POST);
    7         }
    8         $this->display();
    9     }

    运行结果:

    php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_populate_raw_post_data 潜在需要更少的内存。 enctype="multipart/form-data" 的时候 php://input 是无效的。

    5.isset($field{num})

    用来测试字符串的长度,听说效率更高~理解为类似字符串的索引吧。

    6.

     

  • 相关阅读:
    《程序员你伤不起》读书总结
    03SpringBoot用JdbcTemplates访问Mysql
    02Spring Boot配置文件详解
    01构建第一个SpringBoot工程
    java基础-04泛型
    java集合-HashSet源码解析
    java集合-HashMap源码解析
    java基础-03基本语法
    java基础-02数据类型
    java基础-01基本概念
  • 原文地址:https://www.cnblogs.com/gxkB/p/8317494.html
Copyright © 2020-2023  润新知