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


How to get the value from include statement in a variable?

假设我写一行

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

现在我如何把这一行的响应变成一个变量呢?

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

查看PHP文档中的include http://php.net/manual/en/function.include.php

例#5是I think you’s looking for

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

所要做的就是包含的文件返回所需的值。它已经流行了一段时间了

所以include.php应该像这样:

<?php
return ' World!';

和包含的

<?php
$a = include('include.php');
echo 'Hello'.$a; // Hello World!

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

我知道这是一个旧的帖子。我希望我的答案对别人有用。我把接受的答案和回答结合在一起"PHP/7你可以使用一个自调用的匿名函数…"

    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,