随笔(一)

PHP仅仅解析Content-Type为 application/x-www-form-urlencoded 或 multipart/form-data的Http请求
<?php
$post = $_POST;
var_dump($post);
PHP_EOL;
$param = file_get_contents('php://input');
var_dump($param);
输出001.jpg

PHP仅仅解析Content-Type为 application/x-www-form-urlencoded 或 multipart/form-data的Http请求。之所以这样是因为历史原因,PHP最初实现$_POST时,最流行的就是上面两种类型。因此虽说现在有些类型(比如application/json)很流行,但PHP中还是没有去实现自动处理。
对于Content-Type为 application/json的请求,我们需要手工去解析json数据

json_decode(file_get_contents('php://input'),true);


empty()的使用
<?php
$array = [];
$arrayobject = new ArrayObject();
var_dump(empty($array));
var_dump(empty($arrayobject));

输出002.jpg

检查一个数组是否为空最好是用 count() 函数

foreach循环后留下悬挂指针
<?php
$array = [1, 2, 3];


foreach ($array as &$value) {}

echo implode(',', $array) . '<br />';

foreach ($array as $value) {}

echo implode(',', $array) . '<br />';

输出003.jpg

第一个循环过后,$value是数组中最后一个元素的引用。
第一步:复制$arr[0]到$value(注意此时$value是$arr[2]的引用),这时数组变成[1,2,1]
第二步:复制$arr[1]到$value,这时数组变成[1,2,2]
第三步:复制$arr[2]到$value,这时数组变成[1,2,2] ($arr[2]的值为2)
foreach循环后用unset函数销毁变量

isset()函数
<?php
var_dump(isset($a));
$b = null;
var_dump(isset($b));

输出004.jpg

变量不存在时会返回false,变量值为null时也会返回false。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容