我有這樣的PHP代碼行PHP isset速記否則返回數組不工作
$data['viewData']['filter'] = isset($parameters['filter']) ? $parameters['filter'] : array('filter1', 'filter2', 'filter3', 'filter4');
與isset速記一些錯誤,因爲當我print_r($data['viewData']['filter']
與其他活躍,沒有返回值/空/空。
什麼可能是錯的?
編輯,添加更多的信息:
代碼控制器內部:
if (isset($parameters['filter']))
{
$data['viewData']['filter'] = $parameters['filter'];
}
else
{
$data['viewData']['filter'] = array('filter1', 'filter2', 'filter3', 'filter4');
}
$data['viewData']['query'] = $parameters['search'];
$data['viewData']['results'] = $searchResults;
$data['view'] = 'searchResults';
$this->load->view('includes/template', $data);
代碼中的觀點:
prePrint($viewData['apis']);
,我什麼也沒得到,當其他人進入
Codeigniter被用作框架 * prePrint
是隻是包含<pre>
和print_r();
代碼沒有問題。你確定變量沒有受到其他任何影響嗎? – Dan
一點也不奇怪,因爲如果isset爲真,返回應該返回的數據,但如果沒有,則不返回 – Alex
你確定它正在觸及else條件嗎?嘗試把它放在一個if/else塊中,並執行一些調試輸出來確認$參數['filter']真的沒有設置,當你認爲它不是... –