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

search for in the

array_reverse> <array_replace_recursive
Last updated: Fri, 27 Nov 2009

view this page in

array_replace

(PHP 5 >= 5.3.0)

array_replaceİlk dizinin elemanlarını aktarılan dizilerden günceller

Açıklama

array array_replace ( array &$dizi , array &$dizi1 [, array &$dizi2 [, array &$... ]] )

dizi dizisinin değerlerini belirtilen diğer dizilerin değerleriyle günceller. İlk dizideki bir anahtar ikinci dizide mevcutsa ilk dizideki değer ikinciden güncellenir. İkinci dizide olup ilk dizide olmayan anahtarlar ilk dizide oluşturulur. Sadece ilk dizide bulunan anahtarların değerlerine dokunulmaz. Birden fazla güncelleyici dizi belirtilmişse diziler sırayla işlenir; yani daima sonraki dizideki değerler daima üste yazar.

array_replace() ardışık işlem yapmaz; ikinci dizide ne varsa ilkini onunla günceller.

Değiştirgeler

dizi

Elemanları güncellenecek dizi.

dizi1

İlk diziyi güncelleyecek dizi.

Dönen Değerler

Bir hata durumunda NULL aksi takdirde bir dizi döner.

Örnekler

Örnek 1 - array_replace() örneği

<?php
$esas 
= array("portakal""muz""elma""armut");
$ikame = array(=> "karpuz"=> "kavun");
$ikame2 = array(=> "dondurma");

$sepet array_replace($esas$ikame$ikame2);
print_r($sepet);
?>

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

Array
(
    [0] => ahududu
    [1] => muz
    [2] => elma
    [3] => armut
    [4] => dondurma
)

Ayrıca Bakınız



add a note add a note User Contributed Notes
array_replace
tufan dot oezduman at googlemail dot com
06-Nov-2009 12:19
a little enhancement to dyer85 at gmail dot com's function below:
<?php
if (!function_exists('array_replace'))
{
  function
array_replace( array &$array, array &$array1, $filterEmpty=false )
  {
   
$args = func_get_args();
   
$count = func_num_args()-1;

    for (
$i = 0; $i < $count; ++$i) {
      if (
is_array($args[$i])) {
        foreach (
$args[$i] as $key => $val) {
            if (
$filterEmpty && empty($val)) continue;
           
$array[$key] = $val;
        }
      }
      else {
       
trigger_error(
         
__FUNCTION__ . '(): Argument #' . ($i+1) . ' is not an array',
         
E_USER_WARNING
       
);
        return
NULL;
      }
    }

    return
$array;
  }
}
?>

this will allow you to "tetris-like" merge arrays:

<?php

$a
= array(
   
0 => "foo",
   
1 => "",
   
2 => "baz"
);
$b= array(
   
0 => "",
   
1 => "bar",
   
2 => ""
);

print_r(array_replace($a,$b, true));

?>
results in:
Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)
dyer85 at gmail dot com
29-Jul-2009 04:45
For a backward compatible alternative, you might try something like this:

<?php

if (!function_exists('array_replace'))
{
  function
array_replace( array &$array, array &$array1 )
  {
   
$args = func_get_args();
   
$count = func_num_args();

    for (
$i = 0; $i < $count; ++$i) {
      if (
is_array($args[$i])) {
        foreach (
$args[$i] as $key => $val) {
         
$array[$key] = $val;
        }
      }
      else {
       
trigger_error(
         
__FUNCTION__ . '(): Argument #' . ($i+1) . ' is not an array',
         
E_USER_WARNING
       
);
        return
NULL;
      }
    }

    return
$array;
  }
}

?>

array_reverse> <array_replace_recursive
Last updated: Fri, 27 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites