【问题标题】:Numerate and echo array keys in PHPPHP中的数字和回显数组键
【发布时间】:2011-11-10 20:23:24
【问题描述】:

在我的 php 代码中,我将所有验证错误消息收集到一个名为 $errors 的数组中。是否可以像这样回显所有数组元素:“1)错误1 2)错误2 ...”等等?

【问题讨论】:

  • 不太清楚……你想循环一个数组吗?当然,PHP 可以做到这一点……
  • 我想做的是,创建新的 var $message 并将“1)错误 1 ​​2)错误 2 ...”样式消息分配给它。错误消息将取自 $errors 数组

标签: php arrays echo enumerate


【解决方案1】:

您的问题确实不清楚。无论如何,如果我理解您的问题,这应该可以:

如果您需要单个字符串中的所有消息,请使用:

$i = 1;
$message = '';
foreach($errors as $value)
{
   $message .= "$i) Error $value\n";
   $i++;
}

如果您需要将它们放在一个数组中,请改用这个:

$i = 1;
$message = array();
foreach($errors as $value)
{
   $message[] = "$i) Error $value";
   $i++;
}

【讨论】:

  • 我想做的是,创建新的 var $message 并分配“1)错误1 2)错误2 ...”样式消息。错误消息将取自 $errors 数组
【解决方案2】:

foreach 结构非常适合这种情况:

foreach($errors as $key => $value) {
  printf('%s) %s', htmlspecialchars($key), htmlspecialchars($value));
}

我希望我理解了你的问题,你想做什么还不是很清楚

【讨论】:

  • 我想做的是,创建新的 var $message 并将“1)错误 1 ​​2)错误 2 ...”样式消息分配给它。错误消息将取自 $errors 数组
【解决方案3】:

良好的ol'c风格是完全有效的php:

for ($i = 0; $i < count($error); $i++)
{
    echo "" . ($i+1) . ") " . $error[$i];
}

【讨论】:

  • 如果键不是数字或数字且不是连续的,这将不起作用。
  • 我想做的是,创建新的 var 并将“1)错误 1 ​​2)错误 2 ...”样式消息分配给它。如果我声明 '$message=array();'在 for 循环之前放置 message[]= 而不是 echo.?
  • 那么,创建一个 var $message = "";,而不是上面的 echo 行,执行以下操作:$message .= ($i+1) . ") " . $error[$i] . "\n";(当然,假设数组中的键是数字,如 Aurelio De Rosa指出:))。这会将当前表达式与其中已有的消息连接起来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多