PHP可变参数

229 阅读1分钟

<?php
function generateResult(...$para){
  $result = null;
  // $para[0]是数组返回成功结果
  if (is_array($para[0])) {
    return array('status' => true, 'data' => $para[0]);
  }
  // $para[0]是字符串返回失败结果
  if (is_string($para[0])) {
    return (isset($para[1])) ? array('status' => false, 'msg' => $para[0], 'data' => $para[1]) : array('status' => false, 'msg' => $para[0]);
  }
  return array('status' => false, 'msg' => '生成结果是参数错误');
}

print_r(generateResult(array('name' => 'tom', 'age' => 22), 'xxx', 0));
echo '-------------------------------------------'.'<br>';
print_r(generateResult('出错了', array('没写用户名', '密码太简单')));

结果:
Array
(
    [status] => 1
    [data] => Array
        (
            [name] => tom
            [age] => 22
        )

)
-------------------------------------------
Array
(
    [status] => 
    [msg] => 出错了
    [data] => Array
        (
            [0] => 没写用户名
            [1] => 密码太简单
        )

)