|  |      1shiny      2015-06-07 14:08:46 +08:00  2 最低等:isset 中级: filter_input 终极:开发框架集成自动处理 | 
|  |      2AlloVince      2015-06-07 14:18:21 +08:00  1 $params = array_merge(['id' => ''], $_GET); if ($params['id']) ... | 
|  |      3zhengkai      2015-06-07 14:42:25 +08:00 $_GET += [ 'id' => 0, 'page' => 1, ]; | 
|  |      4zhengkai      2015-06-07 14:46:28 +08:00  1 这种方法一般不用在 _GET _POST 上,因为网页参数要做很多处理,没有特别声明的整数要禁止负数,字符串要确保是 utf-8 的,等等 一般用在参数上, += 不仅仅是比 array_merge() 简短,还能避免一个坑。如果你的 key 恰好是 0,1,2 这种的,+= 是覆盖,array_merge 的话会给你搞出 3,4,5,3 个 key 变成 6 个 key …… | 
|  |      6fbzl OP | 
|  |      8moro      2015-06-07 16:06:08 +08:00 @ | 
|  |      9b821025551b      2015-06-07 16:17:31 +08:00 via Android empty配合三目 | 
|      10em70      2015-06-07 16:20:35 +08:00 error_reporting(0) 世界不就清静了 | 
|  |      12yangmls      2015-06-07 17:18:41 +08:00  1 | 
|  |      13fbzl OP @zhengkai 手册上写的 array (PHP 4, PHP 5) array — Create an array --- As of PHP 5.4.x you can now use 'short syntax arrays' which eliminates the need of this function. Example #1 'short syntax array' <?php $a = [1, 2, 3, 4]; print_r($a); ?> --- @b821025551b empty()会提示'PHP Notice: Undefined index: id',就是为了避免这个问题的,我才问的 @em70 问题描述中特别指明了,不能关闭报错 | 
|  |      14fbzl OP | 
|  |      15yangmls      2015-06-07 17:57:51 +08:00  1 @fbzl 也是 laravel 的,一个处理 Closure 的函数 https://github.com/laravel/framework/blob/5.0/src/Illuminate/Support/helpers.php#L782 | 
|  |      16yangmls      2015-06-07 17:59:54 +08:00 楼上的 merge 方案无法处理多重数组的情况,而 laravel 能够简单地用 array_get($arr, 'foo.bar') 来获取 楼上的 isset 问题也考虑到了,所以用的 array_key_exists | 
|  |      19micate      2015-06-07 18:14:37 +08:00 自己实现一个类似 laravel 的 array_get() 方法是比较方便的,而且也不费电呀。 | 
|  |      20geeglo      2015-06-07 18:22:27 +08:00 $id = empty($_GET['id']) ? 1 : intval($_GET['id']); 这样写不会报错的呀~你是不是记错了? | 
|  |      22lyragosa      2015-06-07 18:41:30 +08:00 我是直接禁用所有报错信息,眼不见为净。 历史遗留没那么好修的 | 
|  |      23fbzl OP | 
|  |      24tcsky      2015-06-07 23:40:31 +08:00 写一个全局的 array_get函数,用来处理数组. | 
|  |      26skydiver      2015-06-07 23:56:55 +08:00 优雅的方法就是不要直接读取全局变量$_GET $_POST,而是用框架提供的方法。 |