En PHP comment puis-je mettre à jour les valeurs dans un asssociative tableau et de stocker l'ensemble de la matrice?

Voici un exemple de code:

  $array = array();

  $array['master']['slave'] = "foo";

  foreach ($array as $key => $value) {

    foreach ($value as $key2 => $value2) {

      if (preg_match('/slave/',$key2)) {

        $value[$key2] = "bar";
        print "$value[$key2] => $key2 => $value2\n";
      }
    }
  }

  print_r($array);

De sortie:

bar => slave => foo

Array

(

    [master] => Array

        (
            [slave] => foo
        )

)

Plutôt je voudrais avoir les informations suivantes dans le tableau final:

Array
(

    [master] => Array

        (
            [slave] => bar
        )

)

Quel mal fais-je ici?

Merci!

Note:
Exemple2:

$a= array('l1'=>array('l2'=>array('l3'=>array('l4'=>array('l5'=>'foo')))));

$a['l1']['l2']['l3']['l4']['l5'] = 'bar';

foreach ($a as $i => &$values) {
    foreach ( $values as $key => &$value) {
        if (is_array($value)){
            print_array($value,$key);
        }
    }
}

function print_array ($Array, $parent) {
  foreach ($Array as $i1 => &$values1) {
    if (is_array($values1)){
      foreach ($values1 as $key1 => &$value1) {
        if (is_array($value1)) {
          print_array($value1,$values1);
        }
        else {
          print "       $key1 => $value1\n";
        }
      }
    }
    else {
      if (preg_match('/l5/',$i1)) {
        $values1 = "foobar";
        print "       $i1 => $values1\n";
      }
    }
  }
}

print_r($a);

De sortie ne reflète pas 'foobar' l5

InformationsquelleAutor user291784 | 2010-03-11