|
array_pad
Pad array to the specified length with a value
(PHP 4, PHP 5)
Example 268. array_pad() example<?php Related Examples ( Source code ) » array_pad Examples ( Source code ) » array_pad Pad array to the specified length with a value Code Examples / Notes » array_paddaarius
yes that is true. But, if the index of the array is 2=two, 3=three and i want 4 more keys to be filled. But, not just filled anywhere, but i want to maintain the key index. so, i would like to have 0=FILLED, 1=FILLED ... 4=FILLED, 5=FILLED now i got 4 more keys padded with my string. We can do this "if" we know the missing keys, but if we dont, then it would be nice for array_pad() or perhaps some new function to do this? obviously we can achive this by looping through the array using array_key_exists(), and if you dont find the key, simply create + fill it. regards, Daarius... scott*hurring.com
to the previous commenter -- if you read the manual entry, you'd see that a negative pad_size will put the pad values at the front of the array.
goffrie
To daarius - you mean you have... [2]=>"two" [3]=>"three" and you want... [0]=>"FILLED" [1]=>"FILLED" [2]=>"two" [3]=>"three" [4]=>"FILLED" [5]=>"FILLED" If so, then the following code... <?php $array = array(2 => "two", 3 => "three"); $array = array_pad($array, count($array)+2, "FILLED"); $num = -(count($array)+2); $array = array_pad($array, $num, "FILLED"); print_r($array); ?> will return: Array ( [0] => FILLED [1] => FILLED [2] => two [3] => three [4] => FILLED [5] => FILLED ) The ordering should be okay,... ethanhunt314
This is useful when using next() and prev() function in a while loop to traverse an array. For example the following code will only output up to 8. <?php $test[] = "1"; $test[] = "2"; $test[] = "3"; $test[] = "4"; $test[] = "5"; $test[] = "6"; $test[] = "7"; $test[] = "8"; $test[] = "9"; $test[] = "10"; $test[] = " "; $test[] = " "; $test[] = " "; $count = count($test); while($i < $count) { $now = current($test); echo " $now"; next($test); next($test); next($test); prev($test); prev($test); prev($test); $i++; next($test); } ?> But if you use: $test = array_pad($test, 13, " "); you will get all of your output. mwwaygoo
OR you could do this <?php $myArr = array(2 => 'three', 3 => 'four'); $newArr = array_pad(array(), 4, 'FILLED'); $newArr =$myArr+$newArr; ?> This gives your desired result BUT the ordering is a little wierd, because of the order they were added. Indexes are okay though and that is what you wanted. print_r($newArr) outputs Array ( [2] => three [3] => four [0] => FILLED [1] => FILLED ) hope this helps 29-feb-2004 05:00
One way to initialize a 20x20 multidimensional array. <?php $a = array(); $b = array(); $b = array_pad($b,20,0); $a = array_pad($a,20,$b); ?> mwwaygoo
little older, a little wiser. ksort() will order the array back into its normal order again so: <?php $myArr = array(2 => 'two', 4 => 'four'); $newArr = array_pad(array(), 6, 'FILLED'); $newArr =$myArr+$newArr; ksort($newArr); ?> Will give : Array ( [0] => FILLED [1] => FILLED [2] => two [3] => FILLED [4] => four [5] => FILLED ) oaev
Easy way to get an array contains 5 random numbers from 0 to 9: $rand_arr = array_rand( array_pad( array(), 10, 1 ), 5 ); hk, strapp bussiness solutions
A simple example for array_pad() the syntax is as follows: array_pad(array(), (+/-)int, value) where "array" is the array to which the value is to be added, "(+/-) int" is a value that decides the length of the array(it should be greater than the length of the array. if its a negative number then the value will be added at the left of the array else it will be added to the right. "values" denotes the value to be added to the array lets try an example: <?php $digits = array(); $digits[0] = 1; $digits[1] = 2; $digits[2] = 3; $arraypad = array_pad($digits, -4, "0"); print_r($arraypad); ?> output: Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) |
Change Languagearray_change_key_case array_chunk array_combine array_count_values array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_diff array_fill_keys array_fill array_filter array_flip array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_intersect array_key_exists array_keys array_map array_merge_recursive array_merge array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_reverse array_search array_shift array_slice array_splice array_sum array_udiff_assoc array_udiff_uassoc array_udiff array_uintersect_assoc array_uintersect_uassoc array_uintersect array_unique array_unshift array_values array_walk_recursive array_walk array arsort asort compact count current each end extract in_array key krsort ksort list natcasesort natsort next pos prev range reset rsort shuffle sizeof sort uasort uksort usort |