搜索

首页  >  问答  >  正文

重写后的标题为:将"Php合并两个代码(随机 + 长度)"翻译成中文

我需要你们的帮助来使这个工作起来。 我需要将两个php代码结合起来工作。 我是php的初学者,非常感谢你们给我的每一个建议。 提前谢谢!

描述:我想在我的index.php中显示来自8个页面的内容(一些文本),并以随机顺序显示所取得的内容。 我不知道如何选择从哪里开始检索页面的文本数据,所以我选择了字符选项(从1305个字符后开始,计数375个字符)。

代码1(选择8个页面并以随机顺序显示它们)

<?php
$files = [
"folder/content1.php",
"folder/content2.php",
"folder/content3.php",
"folder/content4.php",
"folder/content5.php",
"folder/content6.php",
"folder/content7.php",
"folder/content8.php"
];
 shuffle($files);
foreach ($files as $key => $file) { require($file); }
?>

代码2(从页面中获取内容,从第1305个字符开始,只显示375个字符)

<?php $section1 = file_get_contents("folder/content1.php", FALSE, NULL, 1305, 375); echo $section1; ?> </p>
<?php $section2 = file_get_contents("folder/content2.php", FALSE, NULL, 1305, 375); echo $section3; ?> </p>
<?php $section3 = file_get_contents("folder/content3.php", FALSE, NULL, 1305, 375); echo $section3; ?> </p>
<?php $section4 = file_get_contents("folder/content4.php", FALSE, NULL, 1305, 375); echo $section4; ?> </p>
<?php $section5 = file_get_contents("folder/content5.php", FALSE, NULL, 1305, 375); echo $section5; ?> </p>
<?php $section6 = file_get_contents("folder/content6.php", FALSE, NULL, 1305, 375); echo $section6; ?> </p>
<?php $section7 = file_get_contents("folder/content7.php", FALSE, NULL, 1305, 375); echo $section7; ?> </p>
<?php $section8 = file_get_contents("folder/content8.php", FALSE, NULL, 1305, 375); echo $section8; ?> </p>

我的合并代码不起作用

<?php
$files = [
"folder/content1.php",
"folder/content2.php",
"folder/content3.php",
"folder/content4.php",
"folder/content5.php",
"folder/content6.php",
"folder/content7.php",
"folder/content8.php"
 ];
 shuffle($files);
foreach ($files as $key => $file) file_get_contents("$files", FALSE, NULL, 1305, 375); { require($file); }
?>

P粉148782096P粉148782096425 天前621

全部回复(1)我来回复

  • P粉349222772

    P粉3492227722023-09-16 10:24:06

    如果您对代码进行更好的格式化,可能会更容易理解。特别是最后两行可能最好像这样编写:

    foreach ($files as $key => $file) {
        file_get_contents("$files", FALSE, NULL, 1305, 375);
    }
    
    require($file);

    然后您可以看到问题所在:调用file_get_contents()的结果没有被赋值给任何变量,所以它只是消失了;而您看到的是最后一个require()的结果,它传递了上一个foreach循环中$file的最后一个值。

    实际上,file_get_contents()的调用看起来有问题 - 第一个参数应该是一个字符串,但您传递的是一个嵌入在字符串中的数组的名称,这有点奇怪 - 我没有尝试过,所以不确定会发生什么。

    在我看来,无论循环中只有一个语句,都最好使用大括号 - 这样做可以更容易避免错误。

    回复
    0
  • 取消回复