2010-08-07 3 views
-1
//include.php 
<?php 
echo 'ABC'; 
?> 

//buzz.php 
<?php 
$a = include('include.php); 
echo $a 
?> 

-> Sortie: ABC1. donnez-moi une solution (je sais pourquoi, inutile d'expliquer);vide include (inclure sans retour)

+3

Cette question est mal formulée. Que demande-t-on? – esqew

+0

Je veux sortir abc, pas abc1, (mauvais anglais) – Snoob

+1

Donc, perdez les parties '$ a =' et 'echo $ a'. –

Répondre

3

mise en mémoire tampon de sortie peut être ce que vous cherchez:

//include.php 
<?php 
echo 'ABC'; 
?> 

//buzz.php 
<?php 
ob_start() 
include('include.php'); // Added the closing quote, it's missing in your example 
$a = ob_get_clean(); 

echo $a; // ABC 
?> 
+0

Ne pourriez-vous pas, en l'incluant, ne pas avoir 'l'écho 'parce qu'il est déjà' échoué' dans le fichier source? – esqew

+2

@ seanny94 En effet, mais c'était ma meilleure estimation du problème réel de Snoob. –

+0

C'est ce dont j'ai besoin, merci. @ seanny94: c'est juste un exemple :) – Snoob

2

echo volonté sortie du tampon de sortie, donc si vous appelez écho une fois dans include.php alors vous n'avez pas besoin d'essayer d'appeler Encore une fois dans buzz.php.

include() retournera 1 si les fichiers existent et 0 si elle ne vous êtes donc code sortie ABC lorsque include.php est exécuté, il imprimera 1 quand include (« include.php ») est appelé , puisque le fichier existe.

Pour n'imprimer ABC suivre les conseils de Mike ou plus simple:

//include.php 
<?php 
echo 'ABC'; 
?> 

//buzz.php 
<?php 
include('include.php); 
?> 

Enfin, vous pouvez revenir à partir de fichiers;

//include.php 
<?php 
return 'ABC'; 
?> 

//buzz.php 
<?php 
$a = include('include.php'); 
echo $a; 
?> 
+0

Je veux faire un moteur de template pour mon projet, donc ce n'est pas ce que je veux. – Snoob

0

Utilisez simplement return

//include.php 
return 'ABC'; 

//buzz.php 
$data = include('include.php'); 
echo $data; // ABC 
1

Votre problème est le suivant:

$a = include('include.php); 

include() retournera booléen TRUE Si l'inclusion réussit, si $ a devient TRUE, ce qui est jeté à une 1 lorsque vous l'éditez.

+0

je savais pourquoi, pas besoin d'expliquer :) – Snoob