2015-06-19 9 views
5

Sto provando a modificare i valori di un array in modo ricorsivo e tutti gli esempi che ho visto in StackOverflow non si adattano per quello che voglio finora.modifica di valori di array in modo ricorsivo in PHP

Fondamentalmente, voglio tradurre un booleano in String.

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

Questo funziona solo nel primo livello dell'array. Inoltre, ho provato a modificare i valori con array_walk_recursive senza esito positivo.

Grazie in anticipo.

risposta

12

array_walk_recursive() dovrebbe fare questo perfettamente facilmente

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

Demo

+0

Ha funzionato come un fascino. Molte grazie! –

+0

Il '&' (di riferimento) era quello che stavo cercando, grazie! – Garre

Problemi correlati