初看,這段代碼似乎沒有問題。如果在添加isset時始終設置爲true
// my_controller.php
$data['errors'] = (object)$this->session->userdata('errors_registration');
$this->load->view('registration/my_view',$data);
// print_r($data['errors'])
// stdClass Object
// (
// [domain_err] => 0
// [wbholder_err] => 0
// [methodpayment_err] => 0
// [createaccount_err] => 2
// [gtc_err] => 0
//)
// my_view.php
if($errors->domain_err == 1) echo "TRUE"; else echo "FALSE"; // FALSE
當,$data['errors']
是空的,
// print_r($data['errors'])
// stdClass Object
// (
// [scalar] =>
//)
// my_view.php
if($errors->domain_err == 1) echo "TRUE"; else echo "FALSE";
我得到這個,
遇到一個PHP錯誤嚴重性:通知消息:未定義的屬性:stdClass的:: $ domain_err
爲了解決這個問題,我加了isset()
,現在我的代碼片段爲if(isset($errors->domain_err) == 1)
,但是,由於這個改變,這個條件似乎總是被設置爲true,因此輸出TRUE。有沒有其他的方法來解決這個問題,同時保持我期待的條件輸出?
好找伴侶。 – 2012-01-31 08:15:14