文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP常用小技巧有哪些

2023-06-20 18:54

关注

这篇文章主要为大家展示了“PHP常用小技巧有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP常用小技巧有哪些”这篇文章吧。

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 => '七十七',)
$ids = array_column($array, 'id');$arrayCombine = array_combine($ids, $array);

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); 

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、接口测试工具

16、如果最后一个字是“区”,就删除。

$distName = '南山区';$lastChar = mb_substr($distName, -1);if($lastChar=='区'){    $lastChar = mb_substr($distName, 0, -1);}echo $lastChar;

17、假设页面内容如下:

{"eat":["大米","小麦"],"drink":["水","茶"]}
[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]

18、创建0777目录,mkdir,chmod配合使用

//若目录不存在则创建目录$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 '<pre>';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 . '<br>';     //打印:http://www.test.com?id=3&other=%E5%A5%BD%E7%9A%84echo urldecode($url);   //打印:http://www.test.com?id=3&other=好的}public function getUrl($apiUrl, $param = []){    $param = http_build_query($param);    return $apiUrl . '?' . $param;}

21、写接口空数组返回对象形式

$data = $data ? $data : (object)$data;

以上是“PHP常用小技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯