strip_tags remove quitar para funcion etiquetas ejemplo php include echo

remove - PHP5: ¿Cómo es que una función incluida siempre hace eco primero si la llamo?



strip_tags wordpress (1)

Tengo dos archivos aquí:

ToBeIncludedFile.php

<?php function printOut(){ echo "World!"; } ?>

MainFile.php

<?php include("ToBeIncludedFile.php"); echo "Hello ".printOut(); ?>

Esperaría "¡Hola mundo!". En cambio, entiendo esto: "¡Mundo! Hola".

Sé que si escribo return en lugar de echo, todo estará bien. ¿Es porque me hago eco de una función que ya hace eco de una cadena? Pero entonces, ¿por qué imprimiría la cadena "¡Mundo!" primero y no lanzar un error?


La razón por la que se escucha primero, es porque se llama, y luego son las cadenas "concatenadas" (más sobre eso en un segundo):

Lo que desea en ToBeIncludedFile.php es return "World!"; no echo

En este momento, esto es lo que sucede:

  • Incluyes el archivo, que no imprime nada, esto es correcto.
  • Hace una concatenación de la cadena "Hello" y el valor de retorno de printOut() . Eso significa que primero se llama esa función:
  • printOut () ejecuta e imprime "¡Mundo!", sin devolver nada.
  • Su secuencia de comandos principal luego concatena "Hola" con nada e imprime eso.