忽略PHP中的未设置变量错误

忽略PHP中的未设置变量错误,php,Php,我正在我的本地开发机器上编程一个添加/编辑表单,它处于严格模式。根据用户访问此表单的方式,他们可能有也可能没有包含表单信息的数组集。问题是,如果我使用填充输入,而他们没有设置,那么每个输入都会出错。我只想做一些简单快捷的事情,因为在几页中有很多输入。以前我使用过,但我希望有一个更好的解决方案,一旦它不需要我为每一个输入都键入(想象一下输入错误的可能性) 我希望保留未定义的消息,因为它在其他地方很有用,它只在我不希望消息显示的特定变量(特别是页面上的单个数组)上。谷歌还没有想出一个好的解决方案,大

我正在我的本地开发机器上编程一个添加/编辑表单,它处于严格模式。根据用户访问此表单的方式,他们可能有也可能没有包含表单信息的数组集。问题是,如果我使用
填充输入,而他们没有设置,那么每个输入都会出错。我只想做一些简单快捷的事情,因为在几页中有很多输入。以前我使用过
,但我希望有一个更好的解决方案,一旦它不需要我为每一个输入都键入
(想象一下输入错误的可能性)


我希望保留未定义的消息,因为它在其他地方很有用,它只在我不希望消息显示的特定变量(特别是页面上的单个数组)上。谷歌还没有想出一个好的解决方案,大多数答案是改变错误报告级别。

您可以使用类似的方法为所有数组元素提供“空默认值”:

if (empty($array)) {
    $array = array_fill_keys(array('name', 'age', 'address', '...'), null);
}
只需在脚本顶部使用一次

如果在到达页面时可能只设置了一些键(在这种情况下,您不想覆盖其他键的值),则可以使用以下方法:

if (empty($array)) {
    $array = []; // PHP 5.4 syntax
}

$array += array_fill_keys(['name', 'age', 'address', '...'], null);

如果您希望提供默认值,但不想与现有值混淆,则非常有用。

您可以使用类似的方法为所有数组元素提供“空默认值”:

if (empty($array)) {
    $array = array_fill_keys(array('name', 'age', 'address', '...'), null);
}
只需在脚本顶部使用一次

如果在到达页面时可能只设置了一些键(在这种情况下,您不想覆盖其他键的值),则可以使用以下方法:

if (empty($array)) {
    $array = []; // PHP 5.4 syntax
}

$array += array_fill_keys(['name', 'age', 'address', '...'], null);

当您希望提供默认值,但不想弄乱已经存在的值时,非常有用。

您只需将
error\u reporting()

这应该是单行线。:)


您只需将
错误报告()
设置为不会引发异常的级别

这应该是单行线。:)


在脚本顶部,只需创建一个包含所有所需值的数组,将其设置为空字符串,然后覆盖其中实际接收数据的条目。因此,无需抑制警告/通知。在脚本顶部,只需创建一个包含所有所需值的数组,将其设置为空字符串,并覆盖其中实际接收数据的条目。所以不需要禁止警告/通知。我最初对此表示反对,因为如果我添加了一个新单元格,我不想编辑这个虚拟数组(我知道我会忘记这样做,并导致各种问题)。但这与提取结果和清空数组相结合将起作用。谢谢你的主意。假设某个神奇的函数不能更有效地解决这个问题,我将在明天早上批准。我最初对此表示反对,因为如果我添加了一个新的单元格,我不想编辑这个虚拟数组(我知道我会忘记这样做,并导致各种问题)。但这与提取结果和清空数组相结合将起作用。谢谢你的主意。假设某些神奇的功能不能更有效地解决这个问题,我将在明天早上批准。错误报告应仅用于诊断改进代码的位置,而不是向最终用户报告错误。为安全起见,应关闭生产环境的错误报告。错误报告仅用于诊断改进代码的位置,而不用于向最终用户报告错误。为安全起见,应关闭生产环境的错误报告。