Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/11/2010, 00:56
Avatar de jaao_death
jaao_death
 
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: Sacar un return dentro de un bucle

Cita:
Iniciado por jaao_death Ver Mensaje
Es curioso porque no entiendo la función, qué es lo que quieres, extraer el número de palabras que entregas como segundo argumento (n), de la cadena que entregas como primero?

Código PHP:
<?php
function nombre_receta2($receta,$palabras){

if (
$palabras>0){
    
$dividir=explode(" ",$receta);
    
$numero_palabras=count($dividir); // <<-- no utilizas esta variable?
    
for ($i=0$i<$palabras$i++){
        if (
$i<$palabras-1){ // <<-- y si niegas esta condición? (>) claro que si es un contador mejor compararla con (==) pero usando un while
        
return "vacio"// <<-- eing?
        
}
    return 
$dividir[$i]; //para qué bucle si solo devuelves la el primer elemento?
    
}
}
else{
return 
$receta;
}
}

$salida=nombre_receta2("esto es una receta"4);
echo 
$salida;
?>
tal vez esto es lo que quieres:

Código PHP:
function nombre_receta2 ($receta$palabras)
{
    
$receta explode (" "$receta);
    
$i 0// Indice
    
$buffer ""// para guardar el resultado
    
while ($i <= $palabras and !( $i> = count ($receta)) ) { // recorrer hasta que llegues al limite de palabras (no uso == por precaución [PARANOICMODE = 0N])
        
$buffer .= $receta[$i++] . " "// llenas el bufer
    
}
    return 
trim ($buffer); // el último caracter es un espacio, trim lo limpia, también otros posibles
// [PARANOICMODE = ...... OFF]

espero que te funcione
Código PHP:
function nombre_receta2 ($receta$palabras)
{
    
$receta explode (" "$receta);
    
$i 0// Indice
    
$buffer ""// para guardar el resultado

    
while ($i <= ($palabras-1) and !($i >= count ($receta)) ) { // recorrer hasta que llegues al limite de palabras (no uso == por precaución [PARANOICMODE = 0N])
        
$buffer .= $receta[$i++] . " "// llenas el bufer
    
}   

    return 
trim ($buffer); // el último caracter es un espacio, trim lo limpia, también otros posibles
    // [PARANOICMODE = ...... OFF]
}


$rece "caldo de gallina criolla con patatas"//<<-- se me ocurrió, no sé si exista
$palab 4;

echo 
nombre_receta2 ($rece$palab); 
devuelve caldo de gallina criolla
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter