downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

array_fill> <array_diff
[edit] Last updated: Fri, 23 Mar 2012

view this page in

array_fill_keys

(PHP 5 >= 5.2.0)

array_fill_keysAnahtarları belirtilen diziyi değerlerle doldurur

Açıklama

array array_fill_keys ( array $anahtarlar , mixed $dolgu )

anahtarlar dizisindeki elemanlara değer olarak dolgu değerini yerleştirir.

Değiştirgeler

anahtarlar

Değerleri anahtar olarak kullanılacak dizi. Anahtar olarak geçersiz değerler string türüne dönüştürülür.

dolgu

Dolgu için kullanılacak değer.

Dönen Değerler

Doldurulmuş dizi döner.

Örnekler

Örnek 1 - array_fill_keys() örneği

<?php
$anahtarlar 
= array('foo'510'bar');
$a array_fill_keys($anahtarlar'banana');
print_r($a);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Ayrıca Bakınız

  • array_fill() - Bir diziyi değerlerle doldurur
  • array_combine() - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur



array_fill> <array_diff
[edit] Last updated: Fri, 23 Mar 2012
 
add a note add a note User Contributed Notes array_fill_keys
sergli at nigma dot ru 25-May-2012 11:53
<?php
$a
= array("1");

var_dump(array_fill_keys($a, "test"));
?>

array(1) {
  [1]=>
  string(4) "test"
}

now string key "1" become an integer value 1, be careful.
matrebatre 20-Jun-2008 07:28
This function does the same as:
<?php
$array
= array_combine($keys,array_fill(0,count($keys),$value));
?>
phydeaux 14-May-2008 10:26
Scratchy's version still doesn't work like the definition describes.  Here's one that can take a mixed variable as the second parameter, defaulting to an empty string if it's not specified.  Don't know if this is exactly how the function works in later versions but it's at least a lot closer.

function array_fill_keys($target, $value = '') {
    if(is_array($target)) {
        foreach($target as $key => $val) {
            $filledArray[$val] = is_array($value) ? $value[$key] : $value;
        }
    }
    return $filledArray;
}

This works for either strings or numerics, so if we have

$arr1 = array(0 => 'abc', 1 => 'def');
$arr2 = array(0 => 452, 1 => 128);
$arr3 = array(0 => 'foo', 1 => 'bar');

then

array_fill_keys($arr1,$arr2)
returns: [abc] => 452, [def] => 128

array_fill_keys($arr1,0)
returns: [abc] => 0, [def] => 0

array_fill_keys($arr2,$arr3)
returns: [452] => foo, [128] => bar

array_fill_keys($arr3,'BLAH')
returns: [foo] => BLAH, [bar] => BLAH

and array_fill_keys($arr1)
returns: [abc] =>, [def] =>
Scratchy 02-May-2008 02:18
RE: bananasims at hotmail dot com

I also needed a work around to not having a new version of PHP and wanting my own keys. bananasims code doesn't like having an array as the second parameter...

Here's a slightly modified version than can handle 2 arrays as inputs:

//we want these values to be keys
$arr1 = (0 => "abc", 1 => "def");
/we want these values to be values
$arr2 = (0 => 452, 1 => 128);

function array_fill_keys($keyArray, $valueArray) {
    if(is_array($keyArray)) {
        foreach($keyArray as $key => $value) {
            $filledArray[$value] = $valueArray[$key];
        }
    }
    return $filledArray;
}

array_fill_keys($arr1, $arr2);

returns:
abc => 452, def =>128
bananasims at hotmail dot com 19-Dec-2006 05:03
Some of the versions do not have this function.
I try to write it myself.
You may refer to my script below

function array_fill_keys($array, $values) {
    if(is_array($array)) {
        foreach($array as $key => $value) {
            $arraydisplay[$array[$key]] = $values;
        }
    }
    return $arraydisplay;
}

 
show source | credits | stats | sitemap | contact | advertising | mirror sites