diff options
author | Derek Jones <derek.jones@ellislab.com> | 2010-10-07 16:38:55 +0200 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2010-10-07 16:38:55 +0200 |
commit | 3a082fd3d6cb2e72612d51b9d8e54e93effb93eb (patch) | |
tree | 45cf986cc40cc781cbe9e2a0eae65d9b363078b9 /user_guide/helpers | |
parent | aa7d3f9c04c165f6514aff58596ad7cff89ebe65 (diff) |
added elements() to the Array Helper to return elements from an array with specified keys only. Differs from array_intersect_assoc() in that a default value can be provided for keys that do not exist in the supplied array
Diffstat (limited to 'user_guide/helpers')
-rw-r--r-- | user_guide/helpers/array_helper.html | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/user_guide/helpers/array_helper.html b/user_guide/helpers/array_helper.html index c0bdd78e3..6d95c4a5f 100644 --- a/user_guide/helpers/array_helper.html +++ b/user_guide/helpers/array_helper.html @@ -100,7 +100,58 @@ echo element('size', $array, NULL); echo random_element($quotes);</code> +<h2>elements()</h2> +<p>Lets you fetch a number of items from an array. The function tests whether each of the array indices is set. If an index does not exist +it is set to FALSE, or whatever you've specified as the default value via the third parameter. Example:</p> + +<code> +$array = array(<br /> + 'color' => 'red',<br /> + 'shape' => 'round',<br /> + 'radius' => '10',<br /> + 'diameter' => '20'<br /> +);<br /> +<br /> +$my_shape = elements(array('color', 'shape', 'height'), $array);<br /> +</code> + +<p>The above will return the following array:</p> + +<code> +array(<br /> + 'color' => 'red',<br /> + 'shape' => 'round',<br /> + 'height' => FALSE<br /> +); +</code> + +<p>You can set the third parameter to any default value you like:</p> + +<code> +$my_shape = elements(array('color', 'shape', 'height'), $array, NULL);<br /> +</code> + +<p>The above will return the following array:</p> + +<code> +array(<br /> + 'color' => 'red',<br /> + 'shape' => 'round',<br /> + 'height' => NULL<br /> +); +</code> + +<p>This is useful when sending the <kbd>$_POST</kbd> array to one of your Models. This prevents users from +sending additional POST data to be entered into your tables:</p> + +<code> +$this->load->model('post_model');<br /> +<br /> +$this->post_model->update(elements(array('id', 'title', 'content'), $_POST)); +</code> + +<p>This ensures that only the id, title and content fields are sent to be updated.</p> </div> <!-- END CONTENT --> |