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.