Bueno, ayer programando unas cosillas me saltó este "problema"
que en realidad no es un problema, solo es incomodo....
tengo una web que carga un index, y según parametros carga una web u otra...
bien, el caso es que la página que carga tiene una función principal y dentro otras funciones
el code es algo así:
index.php
<?php
include_once('text.php');
include_once('functions/basic.php');
if ($_GET['ac'] == 'news')
include_once('news.php');
head(); //las 3 mas abajo
middle();
foot();
//no es exactamente así pero para que se entienda xD
?>
<?php
functions/basic.php
function head() {
echo 'los heads y el inicio de una tabla';
}
function foot() {
echo 'el final de la tabla y el pie de pagina';
} ?>
news.php
<?php
function middle() {
echo 'la continuacion de la tabla'.funcion().'cierro celdas'; //lo raro esta aqui
}
function funcion {
echo 'por ejemplo el contenido de la celda';
}
?>
que sucede? bueno... funcion() al ser llamada mostraria "por ejemplo el contenido de la celda" encima de la tabla que se creó y la celda donde deberia ir se veria mal...
como lo arreglo?
echo 'la continuacion de la tabla'; funcion() ; echo 'cierro celdas'; //lo raro esta aqui
es eficaz pero es mas molesto que poner un par de concatenaciones... alguien sabe porqué sucede esto? (si pongo un return y no un echo sucede lo mismo...
dejo un par de imagenes:
asi está mal:http://img130.imageshack.us/img130/9913/funcionesmal.jpg
así esta bien:http://img63.imageshack.us/img63/3640/funcionesbien.jpg
saludos
nax
proba asi:
function funcion() {
return 'por ejemplo el contenido de la celda';
}
si, con el return no debería tener problemas, aunque el menciona que le va igual.
saludos!!
entonces proba como te dije antes y esto mas:
echo 'la continuacion de la tabla';
echo funcion();
echo 'cierro celdas'; //lo raro no esta mas aqui :p
Cita de: cΔssiΔni en 20 Enero 2010, 04:06 AM
si, con el return no debería tener problemas, aunque el menciona que le va igual.
saludos!!
La función return, retorna un valor, mayormente se usa junto a funciones, pero en este caso no se quiere retornar un valor, si no que solo imprimirlo, las subrutinas se pueden usar para crear funciones o crear sub codigos que estan dentro del codigo principal.
es verdad, justo ahora estoy usando una bermuda de jean!
que flasheaste yoya?? jajajaj
a el le pasaban dos cosas:
1. si en la funcion la terminaba con
echo "cadena";
<?php
function middle() {
echo 'la continuacion de la tabla'.funcion().'cierro celdas';
//aca iba a haber error, porq la cadena "cierro celdas" queda "descolgada",
}
function funcion {
echo 'por ejemplo el contenido de la celda';
}
echo 'la continuacion de la tabla'; funcion() ; echo 'cierro celdas'; //aca no pasaria nada, porq no interviene con las otras dos funciones echo
?>
ahora:
2. si terminaba la funcion con return iba a pasar al revez,
asi que pruebemi codigo, me gustaria que respondas! un saludo grande
con return funciona perfectamente...
debió ser un segundo fallo y no lo que yo creia en un principio...
luego depurando me di cuenta que el error no estaba ahí
perdonen la molestia y la tardansa de contestar :)