如何从变量中的include语句中获取值?

时间:2016-09-26 15:09:20

标签: php

假设我写了一行

include Yii::app()->basepath.'/views/email/email_friend.php';

现在我怎样才能将这一行的响应变为变量?

喜欢

$abc = include Yii::app()->basepath.'/views/email/email_friend.php';

4 个答案:

答案 0 :(得分:4)

查看包含http://php.net/manual/en/function.include.php

的PHP文档

示例#5是我认为你在寻找什么

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1

?>

答案 1 :(得分:1)

您所要做的就是包含的文件具有所需值的返回值。它已经很受欢迎了一段时间。

所以include.php应该如下:

<?php
return ' World!';

和包括一个:

<?php
$a = include('include.php');

echo 'Hello'.$a; // Hello World!

答案 2 :(得分:0)

当你包含它时,就像你将代码复制/粘贴到PHP中一样。如果它只是内联PHP并且在包含文件'email_friend.php'中有一个变量$ abc,那么你可以在include之后正常访问该变量。

答案 3 :(得分:0)

我知道这是一个旧帖子。我希望我的回答对某人有用。我将 Accepted answer 与答案 "PHP/7 you can use a self-invoking anonymous function..."

结合起来
    define( 'WPPATH', dirname(dirname(__FILE__)) . '/public/partials/bla-bla.php' );
    $publicDisplayContent = (function () {
      // [PHP/7 you can use a self-invoking anonymous function](https://stackoverflow.com/a/41568962/601770)
      // https://stackoverflow.com/a/5948404/601770
      ob_start();
      require_once(WPPATH);
      return ob_get_clean();  
    })(); // PHP/7 you can use a self-invoking anonymous function
    error_log( 'activate() >> $publicDisplayContent: ' . print_r( $publicDisplayContent, true ) ); 

       DOT DOT DOT

    'post_content'  => $publicDisplayContent,