2021年3月

可使用array_merge()函数或array_merge_recursive()函数。
两函数用法相同,均为将多个数组作为参数传入,如:array_merge($arr1, $arr2, $arr3, $arr4)
区别在于array_merge()函数键值冲突时后面的会覆盖前面的,array_merge_recursive()函数键值冲突时会将冲突部分合并为新数组。

举个例子:

<?php
$arr1 = ['a'=>1, 'b'=>2];
$arr2 = ['b'=>3, 'c'=>4];
print_r(array_merge($arr1, $arr2));
//结果为:Array([a] => 1 [b] => 3 [c] => 4)

print_r(array_merge_recursive($arr1, $arr2));
//结果为:Array([a] => 1 [b] => Array([0] => 2 [1] => 3) [c] => 4)

print_r(array_merge([0, 1, 2], [0, 1, 2]));
//结果为:Array([0] => 0 [1] => 1 [2] => 2 [3] => 0 [4] => 1 [5] => 2)

break与continue语句均可用于跳出循环,区别在于:
continue跳出本次循环,但此循环语句会继续。
break跳出此循环语句,但外面嵌套(如果有)的循环语句仍然会继续。

举个例子:

<?php
$arr = [0, 1, 2, 3];

foreach($arr as $row){
    foreach($arr as $num){
        if($num === 2){
            break;
        }else{
            echo $num;
        }
    }
}
//输出结果为:01010101

foreach($arr as $row){
    foreach($arr as $num){
        if($num === 2){
            continue;
        }else{
            echo $num;
        }
    }
}
//输出结果为:013013013013

使用函数如下:
ucwords():将每个单词首字母转换为大写。
ucfirst():将第一个单词首字母转为大写。
lcfirst():将第一个单词首字母转为小写。
strtoupper():将所有字母转为大写。
strtolower():将所有字母转为小写。

echo ucwords("hello world");
//Hello World

echo ucfirst("hello world");
//Hello world

echo lcfirst("HELLO WORLD");
//hELLO WORLD

echo strtoupper("hello world");
//HELLO WORLD

echo strtolower("HELLO WORLD");
//hello world

class_exists($className, $autoLoad)函数可检测类是否存在,参数$className为类名,需要使用完整命名空间,参数$autoLoad为是否允许自动加载,非必填,默认为true,函数返回Bool值。

method_exists($className, $methodName)函数可检测方法是否存在,参数$className可以为类名也可以为类的对象,参数$methodName为要检测的方法名,函数返回Bool值。

property_exists($className, $propertyName)函数可检测属性是否存在,参数$className可以为类名也可以为类的对象,参数$propertyName为要检测的属性名,函数返回Bool值。

英文与数字可使用substr函数截取。
第一个参数为字符串。第二个参数为开始位数0表示从头开始,-1表示从结尾开始。第三个参数为截取位数。

substr("Hello", 0, 1);
//从头开始截取一位,结果为"H"

substr("Hello", -1, 1);
//从结尾开始截取一位,结果为"o"

中文需要使用mb_substr函数截取,用法同上,只多了一个编码参数(可不填写)。

mb_substr("你好,世界", 0, 1);
//从头开始截取一位,结果为"你"

mb_substr("你好,世界", -1, 1, 'utf-8');
//从结尾开始截取一位,结果为"界"

修改为国内的Gravatar头像源可以大幅提高头像加载速度,在 index.php 或者 config.inc.php 的顶部加入此代码即可

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/');

rpm -ivh package
# 安装,package为rpm包的目录

rpm -Uvh package
# 升级,package为rpm包的目录

rpm -qa | grep package
# 查询包是否被安装,package为包名,支持通配符

rpm -e package
# 卸载,package为包名,支持通配符

find:根据文件属性查找,如文件名、文件大小、所有者、修改时间等。
which:查找可执行文件

find PATH -name NAME
# PATH为目录,设为`/`时表示全盘查找,`-name`表示按文件名查找,NAME为文件名

which ossfs
# 查找ossfs的位置