Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • PHP

    • PHP-FPM使用指南
    • PHP7新特性总结
    • PHP安全编程
    • PHP安全配置总结
    • PHP变量的值类型和引用类型
    • PHP标准规范PSR
    • PHP操作Zookeeper实践
    • PHP错误和异常处理机制详解
    • PHP的Session运行机制
    • PHP底层运行机制和原理
    • PHP反射模拟实现注解路由
    • PHP高级用法总结
      • 数组方法
        • current()/next()/reset()
        • array_filter()
        • array_slice()
      • 过滤器
      • number_format
      • 其他
        • date('U')
        • random_bytes()
        • bin2hex()
        • usleep()
    • PHP开发常用文档总结
    • PHP开发入门:Memcached扩展安装
    • PHP开发入门:PHP7安装部署
    • PHP开发入门:Redis扩展安装
    • PHP开发SPL总结
    • PHP框架常见URL模式
    • PHP扩展开发入门
    • PHP垃圾回收机制
    • PHP类的自动加载
    • PHP输入输出流
    • PHP微服务开发指南
    • PHP协程
    • PHP写时拷贝技术
    • PHP性能优化之Opcache
    • PHP依赖注入和控制反转
    • PHP运行模式(SAPI)
    • PHP中file_get_contents与curl区别
    • RPC的简单实现
    • Protobuf:高效数据结构化工具
    • P3P协议详解
    • Laravel之集合(Collection)总结
    • Laravel实践总结
    • Laravel之ORM总结
    • 中高级PHP实践总结
    • PHP Socket编程实战
  • Golang

  • Python

  • Javascript

  • 其他语言

  • 编程语言
  • PHP
Ravior
2018-09-17
目录

PHP高级用法总结

# 数组方法

# current()/next()/reset()

$arr = ['name','zhoufei','age'];
echo current($arr), PHP_EOL; // name
echo current($arr), PHP_EOL; // name
echo next($arr), PHP_EOL;    // zhoufei
echo key($arr), PHP_EOL;     // 1
echo reset($arr), PHP_EOL;   // name

1
2
3
4
5
6
7

# array_filter()

该函数把输入数组中的每个键值传给回调函数,如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组,数组键名保持不变。

示例:

$arr = ['key' => 100, 'name' => '', 'year' => NULL];
var_dump(array_filter($arr));

// array(1) {
//   ["key"]=>
//   int(100)
// }
1
2
3
4
5
6
7

# array_slice()

该函数从输入数组的选定部分。

语法:array_slice(array,start,length,preserve)

参数 描述
array 必需。规定数组。
start 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
length 可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
preserve 可选。规定函数是保留键名还是重置键名。可能的值:true - 保留键名 / false - 默认,重置键名

注意:如果数组有字符串键名,所返回的数组将保留键名, 特别注意第四个参数,有意向不到的效果

# 过滤器

如需过滤变量,请使用下面的过滤器函数之一:

  • filter_var() - 通过一个指定的过滤器来过滤单一的变量
  • filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
  • filter_input() - 获取一个输入变量,并对它进行过滤
  • filter_input_array() - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
var_dump(filter_var('true', FILTER_VALIDATE_BOOLEAN));
var_dump(filter_var('false', FILTER_VALIDATE_BOOLEAN));

//bool(true)
//bool(false)
1
2
3
4
5

# number_format

通过千位分组来格式化数字

用法:number_format(number,decimals,decimalpoint,separator)

<?php
echo number_format("1000000")."<br>";    // 1,000,000
echo number_format("1000000",2)."<br>";  // 1,000,000.00
echo number_format("1000000",2,",",".");  // 1.000.000,00
?>
1
2
3
4
5

# 其他

# date('U')

var_dump(date('U'));
var_dump(strtotime('2 days ago'));
// string(10) "1619937260"
// int(1619764460)
1
2
3
4

# random_bytes()

生成适合于加密使用的任意长度的加密随机字节字符串,例如生成salt、密钥或初始化向量等。

用法:string random_bytes ( int $length ),返回值为ASCII字符串, 一般配合bin2hex()函数使用

# bin2hex()

把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去

<?php
$str = bin2hex("Hello World!");
echo($str);  // 48656c6c6f20576f726c6421
?>
1
2
3
4

# usleep()

usleep() 函数延迟执行当前脚本若干微秒(一微秒等于一百万分之一秒)

<?php
echo date('h:i:s') . "<br>";
 
// 延迟执行当前脚本 5 秒(5000000 微秒)
usleep(5000000);
 
echo date('h:i:s');
?>
1
2
3
4
5
6
7
8
#PHP#实践总结
上次更新: 2022/12/01, 11:09:34
PHP反射模拟实现注解路由
PHP开发常用文档总结

← PHP反射模拟实现注解路由 PHP开发常用文档总结→

最近更新
01
常用游戏反外挂技术总结
11-27
02
Golang开发实践万字总结
11-11
03
Redis万字总结
10-30
更多文章>
Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式