这个代码执行后,为什么会多一个1出来?

这个代码执行后,为什么会多一个1出来?

<?=require('./common/aside.php')?>

在PHP中,requireinclude语句用于将其他PHP文件中的内容包含到当前文件中。这些语句可以用于在多个文件中重用代码,从而提高代码的复用性和可维护性。

在上面提到的代码中,<?=require('./common/aside.php')?>语句是将./common/aside.php文件中的内容包含到当前文件中,并且使用了<?=语法输出该文件的内容。<?=expression?>语法等同于<?php echo expression; ?>语法。

如果在包含的文件中有echo或者其他输出语句,那么包含这个文件的语句会返回一个值为1的结果。这个1的输出就是因为这个语句返回了1。

要解决这个问题,可以在./common/aside.php文件中确保没有任何输出语句或其他语句产生输出。或者使用include代替require语句,因为include语句不会中断程序执行,而是返回一个警告。这样,就不会产生1的输出了。

如何屏蔽掉这个1?

如果你在使用<?=require('./common/aside.php')?>语句时发现在页面最后出现了一个1,这是因为require语句会返回一个布尔值来表示文件是否成功包含,而<?=expression?>语法会将该值输出到页面上。

要屏蔽掉这个1,可以将<?=require('./common/aside.php')?>改为<?php require('./common/aside.php'); ?>。这样就不会输出任何值到页面上,也就不会出现1了。

如果你希望使用<?=expression?>语法输出包含文件的内容,可以将./common/aside.php中的任何输出语句修改为赋值语句,然后在最后返回一个变量,然后在<?=require('./common/aside.php')?>中输出该变量。这样就可以避免出现1的情况了。例如:

./common/aside.php中:

<?php
$content = '这是侧边栏的内容';
return $content;
?>

在主文件中:

<?=require('./common/aside.php')?>

这样输出的结果就是这是侧边栏的内容,而不会出现1了。

© 版权声明
THE END
喜欢就支持一下吧
点赞15
评论 抢沙发

请登录后发表评论

    暂无评论内容