Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2016, 19:14
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
dudas ambito variables en funciones anonimas php

Hola,

Tengo el siguente problema:

Código PHP:
Ver original
  1. function mi_funcion(){
  2.    
  3.     $variable = "valor1 valor2 valor3";
  4.    
  5.     $variable = preg_replace_callback('/valor2/',function($coincidencias)use($variable){
  6.        
  7.         //necesito cambiar aqui por otros criterios la palabra valor3 de la variable
  8.         $variable = str_replace("valor3","valor3_cambiado",$variable);
  9.    
  10.         //esto hace lo correcto cambia el valor2
  11.         return "valor2_cambiado";
  12.    
  13.     },$variable);
  14.    
  15.    
  16.     echo $variable;     //devuelve "valor1 valor2_cambiado valor3"  
  17.                             //deseado era "valor1 valor2_cambiado valor3_cambiado"
  18. };
  19.  
  20. $mi_funcion();

He intentado también declarando la variable $variable como global en las dos funciones pero tampoco funciona

¿Alguien tiene idea si esto se puede, tal como lo puse, o se me escapa a mi algo?

Bueno, haciendo otros chequeos por separado para el valor3 después de pasar primero por preg_replace_callback() se que se podría pero esto me daría bastante mas trabajo ya que la cosa es mucho mas compleja de como lo puse yo aquí.

Gracias