<?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