suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Der umgeschriebene Titel lautet: „Php führt zwei Codes zusammen (zufällig + Länge)“ ins Chinesische

Ich brauche deine Hilfe, damit das funktioniert. Ich muss zwei PHP-Codes kombinieren, um zu funktionieren. Ich bin ein PHP-Anfänger und danke Ihnen vielmals für jeden Rat, den Sie mir geben können. Vielen Dank im Voraus!

Beschreibung: Ich möchte Inhalte (etwas Text) von 8 Seiten in meiner index.php anzeigen und die erhaltenen Inhalte in zufälliger Reihenfolge anzeigen. Ich wusste nicht, wie ich auswählen sollte, wo mit dem Abrufen der Textdaten für die Seite begonnen werden soll, also habe ich die Zeichenoption gewählt (beginnt nach 1305 Zeichen, zählt 375 Zeichen).

Code 1 (Wählen Sie 8 Seiten aus und zeigen Sie sie in zufälliger Reihenfolge an)

<?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); }
?>

Code 2 (Inhalt von Seite abrufen, beginnend mit Zeichen 1305, nur 375 Zeichen anzeigen)

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

Mein Zusammenführungscode funktioniert nicht

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

Antworte allen(1)Ich werde antworten

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

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

    Antwort
    0
  • StornierenAntwort