CodeIgniter 2 на русском

Помощник 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 будут обновлены.