可能只用键初始化一个PHP数组?

Ran*_*ndy 1 php arrays initialization

我只是在寻找一种更雄辩的方法,为邮件表单定义一个空错误字符串数组,然后这样做...

 $err = array('NAME'=>'', 'EMAIL'=>'', 'ADDR'=>'', 'CS_LOC'=>'', 'ZIP'=>'','PHONE'=>'', 'COMMENTS'=>'', 'FILE'=> '');
Run Code Online (Sandbox Code Playgroud)

由于我无论如何都必须偶尔刷新这些东西,当然在表单发布时也要刷新,所以我已经建立了如下所示的函数,可以根据需要调用它,如下所示。

    function clearFormErrors(&$ary) { // fill error array with empty strings
   $keys = array_keys($ary);
   $filled = array_fill_keys($keys, '');
   }        
Run Code Online (Sandbox Code Playgroud)

[edit]没什么大不了的,但是因为无论如何我都会调用它,所以如果有一些不错的“愿望清单”方式,当我声明数组** KEYS **时,我可以像这样定义它,那就太好了,就像这个...

$err = array('NAME', 'EMAIL, 'ADDR', 'CS_LOC, 'ZIP,'PHONE', 'COMMENTS, 'FILE');
Run Code Online (Sandbox Code Playgroud)

当然,上面的方法并没有达到预期的效果。我只是很好奇,如果我在PHP文档中错过了一些简单的指令或方法,这些指令或方法只能让我定义键(带有或不带有某些默认类型)。我确定可以使用上面的“愿望清单”数组中的键(现在是值)创建一个更复杂的函数来构建新数组,但这听起来并不会使代码变得更短或更“雄辩的吧?

Rob*_*bok 5

如果您有键数组,则array_fill_keys是“重置”数组的最简便方法。另一种有意义的方法是array_map,但是对于您的简单任务来说,似乎有点开销。