Помощник Array (массив)
Файл помощник Array содержит функции, которые помогают работать с массивами.
Загрузка этого помощника
Этот помощник загружается посредством следующего кода:
$this->load->helper('array');
Следующие функции доступны:
element()
Позволяет вам получить элемент из массива. Эта функция проверяет, существует ли запрашиваемый индекс и есть ли у него значение. Если значение существует, оно будет возвращено. Если значение не существует, функция вернет FALSE, или то, что вы укажете в третьем параметре. Пример:
$array = array('color' => 'red', 'shape' => 'round', 'size' => '');
// возвращает "red"
echo element('color', $array);
// возвращает NULL
echo element('size', $array, NULL);
random_element()
Принимает массив на вход и возвращает случайный элемент из него. Пример использования:
$quotes = array(
"I find that the harder I work, the more luck I seem to have. — Thomas Jefferson",
"Don't stay in bed, unless you can make money in bed. — George Burns",
"We didn't lose the game; we just ran out of time. — Vince Lombardi",
"If everything seems under control, you're not going fast enough. — Mario Andretti",
"Reality is merely an illusion, albeit a very persistent one. — Albert Einstein",
"Chance favors the prepared mind — Louis Pasteur"
);
echo random_element($quotes);
elements()
Позволяет вам получить несколько элементов из массива. Функция проверяет, установлен ли каждый индекс массива. Если индекс не существует, она устанавливает значение в FALSE, или в то, что вы укажете третьим параметром. Пример:
$array = array(
'color' => 'red',
'shape' => 'round',
'radius' => '10',
'diameter' => '20'
);
$my_shape = elements(array('color', 'shape', 'height'), $array);
Вернет следующий массив:
array(
'color' => 'red',
'shape' => 'round',
'height' => FALSE
);
Вы можете установить третий параметр, чтобы иметь значение по умолчанию, как вы пожелаете:
$my_shape = elements(array('color', 'shape', 'height'), $array, NULL);
Функция вернет следующий массив:
array(
'color' => 'red',
'shape' => 'round',
'height' => NULL
);
Это полезно при отправке массива $_POST в одну из ваших моделей. Так предотвращается несанкционированная вставка, к примеру при обновлении данных в БД:
$this->load->model('post_model');
$this->post_model->update(elements(array('id', 'title', 'content'), $_POST));
При этом только поля 'id', 'title' и 'content' fields будут обновлены.