我有这个PHP代码行
$data['viewData']['filter'] = isset($parameters['filter']) ? $parameters['filter'] : array('filter1', 'filter2', 'filter3', 'filter4');
isset速记有问题,因为当我print_r($data['viewData']['filter']
并且其他人处于活动状态时,不返回任何/ null /空。
可能出现什么问题?
编辑,添加更多信息:
控制器内的代码:
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();
答案 0 :(得分:2)
我真的不明白你的意思是它返回“nothing / null / empty”,因为变量不能同时返回所有这3个。 isset不检查是否存在任何数据,它只检查是否设置了变量或数组索引,所以如果你必须确保它已经设置并且还包含数据,你将要尝试这样:
if (isset($parameters['filter']) && $parameters['filter'])