首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >良好的编程实践:引用数组

良好的编程实践:引用数组
EN

Stack Overflow用户
提问于 2012-01-02 23:23:40
回答 2查看 193关注 0票数 1

这个问题与我在PHP方面的经验特别相关,但没有理由不适用于其他语言。

在测试期间设置了ERROR_REPORTING(E_ALL);之后,我注意到我有一些注意事项,比如Notice: Undefined offset: 0 in ChrisW/public_html/admin.php on line 122。这是因为我在数组中存储有关表单的警告(未填充值、无效值等),然后访问它们:

代码语言:javascript
复制
echo $errorsArray[0] . '<label for="name" id="name-label">Your Name</label>
<input id="name" name="name" value="' . $name . '" />';

在我的验证函数中,错误数组是$errorsArray = array($nameError, $emailError);。第一次加载页面时,我将显示以下表单:

代码语言:javascript
复制
if(count($_POST) == 0)
{
  $name="";
  $email="";
  $errorsArray = array();
  form_display($name, $number, $errorsArray); 
}

在理想的世界里:

notices?

  • should I通过执行$errorsArray("","");初始化数组是否重要,还是

  • 在引用数组时应该检查数组是否为空(例如将echo $errorsArray[0]更改为echo (count($errorsArray[0])==0 ? "" : $errorsArray[0])

)

希望,会有一个相当黑白的答案-我不想引起长时间的讨论!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-03 00:11:14

生产代码不应引起注意。这会导致滚动盲目性--你会习惯于有很多毫无意义的信息,所以你不会注意到重要的信息(直到为时已晚)。

随机评论:

  • --如何避免注意并不是很重要,在您的示例中,它可能是将$errorsArray初始化为空数组;在这样的数组中保存错误的
  • 可能不是最好的主意。现在有两种将数据传递到视图的样式:一种是全局变量($name,$password),一种是数字索引的值($errorsArray,$errorsArray1)。第一个更好,第二个比较好,你可以想到一些更好的($data‘’name‘)。但是一般的规则是:坚持一种做事的方式。正如波兰的一句古话所说:“

że byćchujowo,byle jednakowo”(粗略翻译:可能不是最好的方式,但至少它是统一的)。

票数 0
EN

Stack Overflow用户

发布于 2012-01-02 23:41:26

正如FakeRainBrigand所指出的,不会有一个绝对的答案。就我个人而言,通知存在是有原因的,为了避免被太多无关的错误消息淹没,人们可能应该删除它们,即使这样做会使代码更长,而且看起来更冗长。

PHP可能会出现一些错误,因为它不一致,并且所有的地方都是隐式的,或者默认情况下忽略了潜在的错误(例如在这种情况下)。因此,明确地做一些事情也许是明智之举,这无疑会让人对意图产生怀疑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8706360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档