Comunidad de diseño web y desarrollo en internet online

problema con return

Citar            
MensajeEscrito el 21 May 2011 07:53 pm
Hola que tal gente,

Pues les dire que no se que pedo con esto, tengo una funcion que me cambia los caracteres por otros que yo especifique, pero al poner return $word; no me regresa nada...

Código PHP :

$texto = "primer";

function cambiar_texto($texto){
   $word = str_replace('primer','primero',$word);
   $word = str_replace('1','primero',$word);
   return $word;
}

echo $texto;



Parece estar bien, verdad? Pero no, algo pasa que cuando pido imprimir $texto me imprime primer en vez de primero...

Any ideas?

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 May 2011 07:56 pm
Ja, diablos, me falto una linea es donde mando a llamar la funcion, no crean que en mi codigo falta, solo que no tengo internet y tuve que venir a un cyber, vuelvo a poner el codigo tal cual esta en mi pagina:

Código PHP :

$texto = "primer"; 
 
function cambiar_texto($texto){ 
   $word = str_replace('primer','primero',$word); 
   $word = str_replace('1','primero',$word); 
   return $word; 
} 

cambiar_texto($texto);
 
echo $texto; 

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 May 2011 08:35 pm
Hombre, le pasas $texto como parámetro a la función pero dentro de ella no la usas.

Creo que has querido hacer esto:

Código PHP :

function cambiar_texto($texto){  
   $word = str_replace('primer','primero',$texto);  // <-- acá he cambiado
   $word = str_replace('1','primero',$word);  
   return $word;  
}  


Y por si fuera poco, el valor de retorno de la función, tampoco lo usas para nada.
Creo que has querido hacer esto:

Código PHP :

$texto = cambiar_texto($texto);
echo $texto;

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 May 2011 08:57 pm
Gracias DriverOp, me ayudaste a encontrar el problema, pero tampoco todo lo que pusiste es correcto, pondre como quedo el codigo ya corregido (de nuevo, gracias al post de DriverOp):

Código PHP :


$texto = $_POST['unidad']; /* el cual vale primera */
  
function cambiar_texto($texto){  
   $word = str_replace('primer','primero',$word);  
   $word = str_replace('1','primero',$word);
   $word = str_replace('1º','primero',$word);
   $word = str_replace('1o','primero',$word);
   $word = str_replace('primera','primero',$word);
   return $word;  
}  
 
$texto = cambiar_texto($texto); /* este es el unico cambio que se hizo */
  
echo $texto; 



Esto ya imprime en pantalla primero

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 May 2011 10:24 pm
Pues tal como lo has puesto tú, seguirá sin funcionar.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 23 May 2011 10:12 am
Eso no va a funcionar, como dice DriverOp, nunca usas la variable $texto. :?

holler escribió:

Gracias DriverOp, me ayudaste a encontrar el problema, pero tampoco todo lo que pusiste es correcto, pondre como quedo el codigo ya corregido (de nuevo, gracias al post de DriverOp):

Código PHP :


$texto = $_POST['unidad']; /* el cual vale primera */
  
function cambiar_texto($texto){  
   $word = str_replace('primer','primero',$word);  
   $word = str_replace('1','primero',$word);
   $word = str_replace('1º','primero',$word);
   $word = str_replace('1o','primero',$word);
   $word = str_replace('primera','primero',$word);
   return $word;  
}  
 
$texto = cambiar_texto($texto); /* este es el unico cambio que se hizo */
  
echo $texto; 



Esto ya imprime en pantalla primero

Por edge

57 de clabLevel



Genero:Masculino  

Software developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.