人不进步就等于退步!
接触越多的人以及事就能学到更多的东西。
以下仅为本人记录的一些新奇的东西,不喜勿喷!
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.