4.7. Changing Array Size4.7.1. ProblemYou want to modify the size of an array, either by making it larger or smaller than its current size. 4.7.2. SolutionUse array_pad( ) to make an array grow:
Now, count($array) is 5, and the last two elements contain the empty string. To reduce an array, you can use array_splice( ): // no assignment to $array array_splice($array, 2); This removes all but the first two elements from $array. 4.7.3. DiscussionArrays aren't a predeclared size in PHP, so you can resize them on the fly. To pad an array, use array_pad( ). The first argument is the array to be padded. The next argument is the size and direction you want to pad. To pad to the right, use a positive integer; to pad to the left, use a negative one. The third argument is the value to be assigned to the newly created entries. The function returns a modified array and doesn't alter the original. Here are some examples:
Be careful. array_pad($array, 4, 'dates') makes sure an $array is at least four elements long, it doesn't add four new elements. In this case, if $array was already four elements or larger, array_pad( ) would return an unaltered $array. Also, if you declare a value for a fourth element, $array[4]:
you end up with a four-element array with indexes 0, 1, 2, and 4:
PHP essentially turns this into an associative array that happens to have integer keys. The array_splice( ) function, unlike array_pad( ), has the side-effect of modifying the original array. It returns the spliced out array. That's why you don't assign the return value to $array. However, like array_pad( ), you can splice from either the right or left. So, calling array_splice( ) with a value of -2 chops off the last two elements from the end:
4.7.4. See AlsoDocumentation on array_pad( ) at http://www.php.net/array-pad and array_splice( ) at http://www.php.net/array-splice.
Copyright © 2003 O'Reilly & Associates. All rights reserved. |
|