一些新奇的玩意【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.
一些新奇的玩意【php篇--持续更新】的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...
- WebApi学习总结系列第三篇(Http)此篇持续更新...
越了解Http对WebApi开发就越有帮助,因为WebApi就是建立在Http基础之上的. 一.Http: 通过 <ASP.NET Web API 2 框架揭秘>一书中 了解到 什么叫We ...
- unity 开发小技巧之C#篇 ----持续更新
1.ToString()方法是可以重写的 2.Start()方法可以主动调用 3.接口可以直接使用 jiekou?.Invoke() 来调用所有继承该接口的方法 4.Json 列表和服务器需要的数据不 ...
- Python开发【第二十三篇】:持续更新中...
Python开发[第二十三篇]:持续更新中...
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
ASP.NET MVC深入浅出系列(持续更新) 一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...
- C++入职学习篇--代码规范(持续更新)
C++入职学习篇--代码规范(持续更新) 一.头文件规范 在头文件中大家一般会定义宏.引入库函数.声明.定义全局变量等,在设计时最后进行分类,代码示范(自己瞎琢磨的,请多多指点): #ifndef T ...
- C++入职学习篇--新员工入职(持续更新)
C++入职学习篇--新员工入职(持续更新) 本人菜鸟一枚,刚刚结束学业生涯,入职C++软件开发岗位,之前对C++一窍不通,刚刚入职,亚历山大,但为祖国和平发展,本人励志为中华崛起而奋斗,学不好C++誓 ...
- 跟我学SpringCloud | 终篇:文章汇总(持续更新)
SpringCloud系列教程 | 终篇:文章汇总(持续更新) 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: inwsy ...
- 前端深入之js篇丨Array数组操作从入门到成神Up Up Up,持续更新中
写在前面 随着前端深入的不断学习,发现数组这个数据结构在前端中有着相当大的存在感,由于我初学前端的时候并没有系统性的学习数组,所以我将通过这篇文章同你一起学习数组,希望我们能一起进步,学会熟练操作数组 ...
- <精华篇>:iOS视频大全-持续更新
注意:新浪微博分享的资料和简书分享的资料,略有不同! 小码哥swift3.0版 斗鱼项目视频:点击下载 iOS开发25个项目实战:点击下载 2016PHP全套下载:点击下载 黑马刀哥iOS视频精选 ...
随机推荐
- faster-fifo:C++实现的python多进程通信队列 —— 强化学习ppo算法库sample-factory的C++实现的python多进程通信队列 —— python3.12版本下成功通过测试
项目地址: https://github.com/alex-petrenko/faster-fifo 需要注意,该项目给出了两种安装方法,一种是pip从pypi官网安装,一种是从GitHub上的源码安 ...
- 【转载】 NumPy之:数据类型对象dtype
原文地址: https://www.cnblogs.com/flydean/p/14720858.html ============================================== ...
- Apache DolphinScheduler 4月简报:社区发展与技术革新速递
各位热爱 DolphinScheduler 的小伙伴们,4 月份的 DolphinScheduler 社区月报更新啦!这里将记录 DolphinScheduler 社区每月的重要更新,欢迎关注! 月度 ...
- Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案
背景 看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题 ...
- CH04_程序流程结构
CH04_程序流程结构 程序流程结构 C/C++支持最基本的三种程序运行结构: 顺序结构:程序按顺序执行,不发生挑战 选择结构:依据条件是否满足,有选择的执行相应的功能 循环结构:依据条件是否满足,循 ...
- Win32 GDI 在内存中绘制彩色的位图
Wind32 GDI在内存中绘制彩色位图 1创建兼容的内存DC hPicture为创建的静态文本框控件句柄 LRESULT OnPaint(HWND hWnd) { PAINTSTRUCT ps; H ...
- [golang]查询ssl证书剩余有效天数并邮件提醒
前言 自从云厂商的免费ssl证书改成3个月,而且证书数量还是20个之后,自己网站的ssl证书就换成了其它免费方案.但是免费方案不会提醒证书过期,所以写个工具每天定时查询证书剩余有效天数,如果证书即将过 ...
- C++: 如何高效地往unordered_map中插入key-value
C++: unordered_map 花式插入key-value的5种方式 前言 无意中发现std::unordered_map.std::map等插入key-value对在C++17后竟有了 ins ...
- LeetCode 二叉树的最近公共祖先
一.二叉搜索树的最近公共祖先 利用二叉搜索树的性质,祖先的两个孩子,左孩子的小于根节点的值,右孩子大于根节点的值. 如果根节点的值,同时大于p的值和q的值,那么在左子树找根节点: 如果根节点的值,同时 ...
- TypeScript – Get Started Advanced (Work with SystemJS)
更新 我本来想 skip 掉 bundler (webpack), 感觉单侧不需要搞那么复杂, 所以用了 TypeScript 自带的 bundle (outFile) + SystemJS. 谁知道 ...