php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
1、解决跨域问题
public function __construct()
{
parent::__construct();
header('Access-Control-Allow-Origin:*'); //跨域
}
2、json_encode 中文不转码
die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );
3、二维数组排序
$users = array(
array('name' => 'xiao1', 'age' => 20),
array('name' => 'xiao2', 'age' => 18),
array('name' => 'xiao3', 'age' => 22)
);
/*按照年龄升序*/
//要将age提取出来存储到一维数组里,然后按照age升序排列
$ages= array_column($users, 'age');
array_multisort($ages, SORT_ASC, $users);
/*先按照年龄升序,再按照姓名降序*/
$ages= array_column($users, 'age');
$names = array_column($users, 'name');
array_multisort($ages, SORT_ASC, $names, SORT_DESC, $users);
4、如果Linux服务器上php.ini关闭了错误提示,导致结果406,500。打印错误信息。
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
5、list 的使用
//list使用
public function test(){
list($name, $sex) = $this->getInfo();
echo "姓名:{$name},性别:{$sex}";
}
public function getInfo(){
return ['张三', '男'];
}
//输出:姓名:张三,性别:男
6、函数 array_column()的使用
$array = [
['id'=>'99', 'name'=>'九十九'],
['id'=>'88', 'name'=>'八十八'],
['id'=>'77', 'name'=>'七十七'],
];
$arr1 = array_column($array, 'name');
//输出:array (0 => '九十九',1 => '八十八',2 => '七十七',)
$arr2 = array_column($array, 'name', 'id');
//输出:array ( 99 => '九十九', 88 => '八十八', 77 => '七十七',)
array_column() 与 array_combine() 搭配使用
$ids = array_column($array, 'id');
$arrayCombine = array_combine($ids, $array);
/*$arrayCombine 输出:
array (
99 => array ( 'id' => '99', 'name' => '九十九', ),
88 => array ( 'id' => '88', 'name' => '八十八', ),
77 => array ( 'id' => '77', 'name' => '七十七', ),
)*/
7、一维数组去重,删除0,null,索引重置
$array = array(0,1,0,2,null,1,3,4,null,0);
$array = array_values(array_unique(array_diff($array, [0, null]))); //去除0,null;去重
var_export($array);
/*输出:
array (
0 => 1,
1 => 2,
2 => 3,
3 => 4,
)
*/
8、把秒转为时分秒
$r = gmstrftime('%H:%M:%S',(3600*23)+123);
var_export($r);
//输出: '23:02:03'
9、接口返回
10、四舍五入保留2位小数。
round($x, 2);
11、隐藏手机号中间4位。
$num = "13711111111";
$str = substr_replace($num,'****',3,4);
12、换行变量 PHP_EOL
使用场景:一个小小的换行,其实在不同的平台有着不同的实现。
本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。
PHP_EOL就是php中已经定义好的变量,代表php的换行符。
这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r。
13、PHP判断数组 键 是否存在 isset(),array_key_exists(),empty()
$array = ['a'=>'我是第一个', 'b'=>'我是第二个', 'c'=>'我是第三个', 'f' => null];
if(isset($array['a'])) {
echo 'a存在 ';
} else {
echo 'a不存在 ';
}
if(array_key_exists('d', $array)) {
echo 'd存在 ';
} else {
echo 'd不存在 ';
}
if (empty($array['f'])) {
echo 'f不存在';
} else {
echo 'f存在,且不为 null,0,"0",false';
}
//a存在 d不存在 f不存在
14、引入js的文件,带参数?_=1553829159194
有时候有些地址后面有个这样的参数 ?_=1553829159194
15、接口测试工具