PHP中如何让初始文件定义的变量在其引入的其他PHP文件中生效
解决方案
你对问题的判断是正确的,PHP按自上而下的顺序执行代码,引入required.php时$var还未完成赋值,自然无法拼接正确的字符串。以下是两种简洁的解决方案:
方案1:调整引入位置(最简实现,无需修改required.php)
直接把require语句移动到$var赋值之后即可:
// 初始PHP文件修改后代码 <?php $var = $another_var; require('required.php'); ?> <div><?php echo $text_string_1; ?></div>
方案2:匿名函数封装(适配必须提前引入required.php的场景)
如果业务逻辑要求必须在初始文件开头就引入公共文件,可以把字符串改为函数形式,调用时再传入变量:
// required.php 修改后代码 $get_text_string_1 = fn($var) => 'Some text '.$var.' some more text.';
初始文件无需调整引入顺序,调用时传参即可:
<?php require('required.php'); ?> <?php $var = $another_var; ?> <div><?php echo $get_text_string_1($var); ?></div>
内容的提问来源于stack exchange,提问作者YKKY
相关产品推荐
相关产品推荐

