一尘不染

为什么此PHP代码仅回显“ Array”?

php

这是我的代码:

if(isset($_POST['check']) AND $_POST['check'] == 'First') {
  $errormessage = array();

  if(empty($_POST['full_name']) || strlen($_POST['full_name']) < 4) { 
     $errormessage[] = "FEL - Vänligen ange fullständiga namn. Please enter atleast 3 or more characters for your name";
  }
  if(!isEmail($_POST['usr_email'])) {
     $errormessage[] = "FEL - Invalid email address.";
  }
  if(empty($errormessage)) {
     echo 1;
  } else { 
     echo $errormessage; // <--
  }
}

echo $errormessage运行它输出Array。我究竟做错了什么?


阅读 183

收藏
2020-05-29

共1个答案

一尘不染

您正在调用echo一个没有隐式字符串表示形式的实际数组。

为了输出数组的内容,你可以使用print_rvar_dumpvar_export功能或自定义输出,你可以使用array_map,甚至是foreach循环:

print_r($errormessage);
var_dump($errormessage);
var_export($errormessage);

foreach($errormessage as $error) 
   echo $error . '<br/>';

array_map('echo', $errormessage);
2020-05-29