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

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

-> Выход: ABC1. дайте мне решение (я знаю, почему, не нужно объяснять);void include (включить без возврата)

+3

Это плохо сформулированный вопрос. Что спрашивается? – esqew

+0

Я хочу вывести abc, а не abc1, (плохой английский) – Snoob

+1

Так что потеряйте части '$ a =' и 'echo $ a'. –

ответ

3

Буферизация вывода может быть то, что вы ищете:

//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

Не могли бы вы, 'включите 'в него, не нужно' echo', потому что это уже 'echo'ed в исходном файле? – esqew

+2

@ seanny94 Действительно, но это была моя лучшая догадка о том, что такое реальная проблема Snoob. –

+0

Это то, что мне нужно, спасибо. @ seanny94: это просто пример :) – Snoob

2

echo будет выводить в выходной буфер, так что если вы вызываете эхо один раз в include.php, то вам не нужно, чтобы попытаться позвонить это снова в buzz.php.

include() вернет 1 если файлы существует и 0, если это не так, вы код будет выводить ABC когда include.php запускается, то он будет печатать 1, когда включают («include.php») называется , так как файл существует.

Для печати только ABC следовать советам Майка или проще:

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

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

Наконец, вы можете вернуться из файлов;

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

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

Я хочу создать шаблон для моего проекта, так что это не я хочу. – Snoob

0

Просто используйте return

//include.php 
return 'ABC'; 

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

Ваша задача заключается в следующем:

$a = include('include.php); 

include() будет возвращать логическое значение TRUE, если включать удалось, так что $ а становится TRUE, который отлит к 1 при выводе.

+0

Я знал почему, не нужно объяснять :) – Snoob