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

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

这个代码执行后,为什么会多一个1出来?
<?=require('./common/aside.php')?>
在PHP中,require和include语句用于将其他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了。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。