search for in the  
<array_diffarray_filter>
Last updated: Thu, 19 May 2005

array_fill

(PHP 4 >= 4.2.0, PHP 5)

array_fill -- Fill an array with values

Description

array array_fill ( int start_index, int num, mixed value )

array_fill() fills an array with num entries of the value of the value parameter, keys starting at the start_index parameter. Note that num must be a number greater than zero, or PHP will throw a warning.

Example 1. array_fill() example

<?php
$a
= array_fill(5, 6, 'banana');
print_r($a);
?>

$a now is:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

See also str_repeat() and range().



User Contributed Notes
array_fill
csst0266 at cs dot uoi dot gr
11-Aug-2004 12:32
This is what I recently did to quickly create a two dimensional array (10x10), initialized to 0:

<?php
  $a
= array_fill(0, 10, array_fill(0, 10, 0));
?>

This should work for as many dimensions as you want, each time passing to array_fill() (as the 3rd argument) another array_fill() function.
jausion at hotmail-dot-com
29-Mar-2003 01:50
For PHP < 4.2.0 users:

Add this to your script:
if (!function_exists('array_fill')) {
   require_once('array_fill.func.php');
}

and the array_fill.func.php file:

<?php

// For PHP version < 4.2.0 missing the array_fill function,
// I provide here an alternative. -Philippe

function array_fill($iStart, $iLen, $vValue) {
  
$aResult = array();
   for (
$iCount = $iStart; $iCount < $iLen + $iStart; $iCount++) {
      
$aResult[$iCount] = $vValue;
   }
   return
$aResult;
}

?>
25-Aug-2002 03:59
array_fill() cannot be used to setup only missing keys in an array. This  may be necessary for example before using implode()  on a sparse filled array.
The solution is to use this function:

<?php
function array_setkeys(&$array, $fill = NULL) {
  $indexmax = -1;
  for (end($array); $key = key($array); prev($array)) {
    if ($key > $indexmax)
      $indexmax = $key;
  }
  for ($i = 0; $i <= $indexmax; $i++) {
    if (!isset($array[$i]))
      $array[$i] = $fill;
  }
  ksort($array);
}
?>

This is usefull in some situations where you don't know which key index was filled and you want to preserve the association between a positioned field in an imploded array and the key index when exploding it.

<array_diffarray_filter>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT