<?php
class Validate
{
public $errors = array();
public function date($date)
{
if(!strtotime($date))
{
$errors['date'] = "$date is not a valid date.";
//var_dump($errors);
} else {
return $date;
}
}
public function get_errors()
{
foreach($this->errors as $error => $val)
{
return $val."<br />\n";
}
}
}
$validate = new Validate;
$validate->date('<20 Feb, 2013');
print $validate->get_errors();
应当循环通过$errors
它们印刷到浏览器。它没有。我知道肯定$errors
阵列获取的通过声明初始化:环通过一个关联数组使用OOP PHP
var_dump($errors);
印刷:
array(1) { ["date"]=> string(34) "<20 Feb, 2013 is not a valid date." }
到屏幕上。我错过了什么?
我已经试过各种形式的foreach构造的:
foreach($this->errors as $this->error => $val)
{
return $val."<br />\n";
}
而且
foreach($this->errors as $this->error => $this->val)
{
return $this->val."<br />\n";
}
,但没有喜悦!
如果'errors'属性是公共的,为什么你需要'get_errors()'方法?您可以直接访问您的财产,如'$ validate-> errors' – 2013-02-16 15:04:56