У меня есть этот PHP код строкиPHP Исеть сокращенная еще обратный массив не работает
$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
is просто настраиваемая функция, которая содержит <pre>
и print_r();
В коде нет ничего плохого. Вы уверены, что на переменную не влияет ни на что другое? – Dan
совсем не так, это странно, потому что если isset is true возвращает данные, которые должны возвращаться, но если нет, ничего не возвращает – Alex
Вы уверены, что это поражает условие else? Попробуйте поместить его в блок if/else и сделать некоторый отладочный вывод для подтверждения $ parameters ['filter'] действительно не установлен, если вы считаете, что это не так ... –