2015-06-19 9 views
5

Ich versuche, die Werte eines Arrays recursevely zu ändern und alle Beispiele, die ich in Stackoverflow gesehen habe passen nicht für das, was ich bisher will.Ändern von Array-Werten rekursiv in PHP

Grundsätzlich möchte ich einen Boolean in String zu übersetzen.

foreach($this->data as $key=>$value) 
{ 
    if (is_bool($value)) 
    { 
     $this->data[$key] = var_export($value, true); 
    }  
} 

Dies funktioniert nur in der ersten Ebene des Arrays. Außerdem habe ich versucht, die Werte mit array_walk_recursive ohne Erfolg auch zu ändern.

Vielen Dank im Voraus.

Antwort

12

array_walk_recursive() sollten dies tun, perfekt leicht

array_walk_recursive(
    $myArray, 
    function (&$value) { 
     if (is_bool($value)) { 
      $value = 'I AM A BOOLEAN'; 
     } 
    } 
); 

Demo

+0

Es arbeitete wie ein Charme. Danke vielmals! –

+0

Die '&' (durch Verweis) war was ich suche, danke! – Garre