Foros del Web » Programando para Internet » PHP »

Function

Estas en el tema de Function en el foro de PHP en Foros del Web. Buenas una duda que esta mal en este codigo?? @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original function censurar ( $cadena , $censura ) {     ...
  #1 (permalink)  
Antiguo 14/01/2011, 14:25
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Function

Buenas una duda que esta mal en este codigo??


Código PHP:
Ver original
  1. function censurar($cadena,$censura) {
  2.     if (!is_array($censura)) {
  3.         $censura = array("puta","matar","asesinar","puto","violar");
  4.     }
  5.     $cadena = str_replace($censura,"****",$cadena);
  6.     return $cadena;
  7. }

el error que me da es este: Warning: Missing argument 2 for censurar(), called in C:\xampplite\htdocs\prueba\s\index.php on line 90 and defined in C:\xampplite\htdocs\prueba\s\index.php on line 10

la linea 90 es esta $mensajito = censurar($mensaje);
la linea 10 es esta la funcion!

Gracias!!
__________________
..
  #2 (permalink)  
Antiguo 14/01/2011, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Function

Cita:
Iniciado por gamau6 Ver Mensaje
Warning: Missing argument 2 for censurar(), called in C:\xampplite\htdocs\prueba\s\index.php on line 90 and defined in C:\xampplite\htdocs\prueba\s\index.php on line 10
¿si conoces lo que es traductor, verdad?

el error dice que estas omitiendo el segundo argumento cuando ejecutas la función...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/01/2011, 14:46
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Function

Ayuda! estoy trancado en eso, gracias pateketrueke!, pero mi cerebro a esta hora casi 6 de la tarde en mi pais.. ya no funciona!!
__________________
..
  #4 (permalink)  
Antiguo 14/01/2011, 14:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Function

Cita:
Iniciado por gamau6 Ver Mensaje
Ayuda! estoy trancado en eso, gracias pateketrueke!, pero mi cerebro a esta hora casi 6 de la tarde en mi pais.. ya no funciona!!
a ver... de verdad leíste mi comentario?

es simple... en la declaración de tu función especificas dos argumentos (ninguno opcional), pero cuando la ejecutas solo le pasas uno...

y puesto a que el segundo argumento no es opcional, ¡te arroja el error!

de verdad, no seas flojo y lee el manual...
http://www.php.net/manual/es/language.functions.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/01/2011, 15:22
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Function

Gracias pateketruke!
__________________
..
  #6 (permalink)  
Antiguo 14/01/2011, 15:52
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Respuesta: Function

Una forma de arreglarlo sería:

Código PHP:
Ver original
  1. function censurar($cadena,$censura = array("puta","matar","asesinar","puto","violar")) {
  2. $cadena = str_replace($censura,"****",$cadena);
  3. return $cadena;
  4. }

Así funcionará como tenías puesto y no necesitarás poner el segundo argumento. Si lo pones lo usará, si no pondrá el que está puesto detrás del igual en la definición de la function.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Etiquetas: function
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:23.