20+个值得收藏的PHP常用小技巧(分享)
- http://***/index/index?_=1553829159194
- 在url后面加一个timestamp时间戳,保证每次的url都是变化的,这样就不会读取浏览器缓存了。
15、接口测试工具
- 接口测试工具推荐 postman
16、如果最后一个字是“区”,就删除。
$distName = '南山区';
$lastChar = mb_substr($distName, -1);
if($lastChar=='区'){
$lastChar = mb_substr($distName, 0, -1);
}
echo $lastChar;
17、假设页面内容如下:
- 后台返回的数据结构:
{"eat":["大米","小麦"],"drink":["水","茶"]}
-
不太好,这样还要前端对应到相关字段,eat吃的;drink是喝的。
-
最好这样返回:
[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]
18、创建0777目录,mkdir,chmod配合使用
- 用mkdir创建在windows没问题,但是在linux使用mkdir创建文件夹会出现没有最大权限0777的情况;所以要再使用chmod函数,(chmod函数针对linux创建文件夹权限不足的情况)
//若目录不存在则创建目录
$filePath = '../file/20900101';
if(@!file_exists($filePath)){
mkdir($filePath, 0777, true);
chmod($filePath, 0777);
}
19、foreach中引用赋值
- 代码
$temp = [
[ 'id' => 1, 'name' => 'name1', 'age' => 'age1', 'time' => 'time1' ],
[ 'id' => 2, 'name' => 'name2', 'age' => 'age2', 'time' => 'time2' ]
];
# 清空原数据
$data = $temp;
foreach ($data as &$value){
$value = [];
}
echo '';
print_r($data);
# 重置原数据
$data = $temp;
foreach ($data as &$value){
$value = [
'hobby' => 1
];
}
print_r($data);
# 追加原数据
$data = $temp;
foreach ($data as &$value){
$value['hobby'] = 1;
}
print_r($data);
- 打印
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
Array
(
[0] => Array
(
[hobby] => 1
)
[1] => Array
(
[hobby] => 1
)
)
Array
(
[0] => Array
(
[id] => 1
[name] => name1
[age] => age1
[time] => time1
[hobby] => 1
)
[1] => Array
(
[id] => 2
[name] => name2
[age] => age2
[time] => time2
[hobby] => 1
)
)
20、url生成器
public function test() {
$url = self::getUrl('http://www.test.com', ['id' => 3, 'other' => '好的']);
echo $url . '
'; //打印:http://www.test.com?id=3&other=%E5%A5%BD%E7%9A%84
echo urldecode($url); //打印:http://www.test.com?id=3&other=好的
}
public function getUrl($apiUrl, $param = []){
$param = http_build_query($param);
return $apiUrl . '?' . $param;
}
21、写接口空数组返回对象形式
-
$data为空时强转为 object类型后,json_encode的值是{},不强转的话则是==[]==,是否需要强转看实际情况
$data = $data ? $data : (object)$data;
以上就是20+个值得收藏的PHP常用小技巧(分享)的详细内容,更多请关注毛票票其它相关文章!