Podręcznik użytkownika CodeIgniter wersja 2.2.1


Helper Array

Helper Array zawiera funkcje pomagające w pracy z tablicami.

Ładowanie helpera

Ten helper jest ładowany za pomocą poniższego kodu:

$this->load->helper('array');

Dostępne są następujące funkcje:

element()

Pozwala pobrać element z tablicy. Funkcja sprawdza czy ustawiony jest dany index dla tablicy i czy posiada jakąś wartość. Jeśli wartość istnieje, to jest zwracana. Jeśli wartość nie istnieje, zwracana jest wartość FALSE lub wartość, która została określona w trzecim parametrze funkcji. Przykład:

$array = array('color' => 'red', 'shape' => 'round', 'size' => '');

// zwraca "red"
echo element('color', $array);

// zwraca NULL
echo element('size', $array, NULL);

random_element()

Funkcja przyjmuje pierwszy parametr jako tablicę i zwraca losowy jej element. Przykład użycia:

$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()

Pozwala na na pobranie wielu elementów z tablicy. Funkcja sprawdza, czy każdy z indeksów tablicy jest ustawiony. Jeśli dany index nie istnieje jego wartość jest ustawiana na FALSE, lub inną wartość, jeśli ta została określona w trzecim parametrze. Przykład:

$array = array(
    'color' => 'red',
    'shape' => 'round',
    'radius' => '10',
    'diameter' => '20'
);

$my_shape = elements(array('color', 'shape', 'height'), $array);

Powyższy kod zwróci następującą tablicę:

array(
    'color' => 'red',
    'shape' => 'round',
    'height' => FALSE
);

Możesz ustawić trzeci parametr dla funkcji, na jaką wartość chcesz:

$my_shape = elements(array('color', 'shape', 'height'), $array, NULL);

Powyższy kod zwróci tablicę:

array(
    'color' => 'red',
    'shape' => 'round',
    'height' => NULL
);

Funkcja jest szczególnie użyteczna, kiedy wysyłamy tablicę $_POST do naszego modelu. W takim wypadku, funkcja ta uniemożliwia użytkownikowi wysłanie dodatkowej zmiennej POST, która mogłaby być umieszczona w tabeli bazy danych:

$this->load->model('post_model');

$this->post_model->update(elements(array('id', 'title', 'content'), $_POST));

To sprawia, że możemy być pewni, że tylko pola id, title i content, zostaną wysłane i zaktualizowane.