php有用的函数(一)

// 两个默认参数的函数
function test($arg1 = '', $arg2 = '') {
    echo "arg1: $arg1 <br />";
    echo "arg2: $arg2 <br />";
}
test('hello','world');
/* 输出:
arg1: hello
arg2: world
*/
test();
/* 输出:
arg1:
arg2:
*/
func_get_args()//
//  任意个数的参数
function test() {
    // 取得所有的传入参数的数组
    $all_args = func_get_args();

    foreach ($all_args as $k => $v) {
        echo "arg".($k+1).": $v\n";
    }
}
test();
/* 什么也不会输出 */
test('hello');
/* 输出
arg1: hello
*/
test('hello', 'world', 'yes');
/* 输出
arg1: hello
arg2: world
arg3: yes
*/
///////////////////////////////
生成唯一的ID

// generate unique string
echo uniqid();
/* 输出
4be270233d381
*/
// generate another unique string
echo uniqid();
/* 输出
4be2703c03759
*/
//生成器依赖于系统的时间,所以生成出来的ID前几位是一样的

// 前缀可选。为 ID 规定前缀。
echo uniqid('prefix_');
/* 输出
prefix_4be2711876d7d
*/
// 参数设置为 true,则在返回值的末尾添加额外的熵(使用组合线形同余数生成程序),这样可以结果的唯一性更好。
echo uniqid('',true);
/* 输出
4be270a92c88e8.04127999
*/
// 都有
echo uniqid('prefix_',true);
/* 输出
prefix_4be271e417c928.63778801
*/
json_encode()  json_decode()
// 初始化一个数组
$arr = array(
    'hello',
    42,
    array(1,'two'),
    'world'
);

// 用json_encode转化成json格式,便于储存和js调用
$string = json_encode($arr);

echo $string;
/* 输出
["hello",42,[1,"two",3],"world"]
*/

// json反转
$newarr = json_decode($string);

var_dump($newarr);
/* 输出
array(4) {
  [0]=>
  string(5) "hello"
  [1]=>
  int(42)
  [2]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    string(3) "two"
    [2]=>
    int(3)
  }
  [3]=>
  string(5) "world"
}
*/