>  Q&A  >  본문

다시 쓴 제목은 다음과 같습니다. "Php는 두 코드를 병합합니다(임의 + 길이)"를 중국어로 번역합니다.

이 작업을 수행하려면 여러분의 도움이 필요합니다. 작동하려면 두 개의 PHP 코드를 결합해야 합니다. 저는 PHP 초보자입니다. 제게 줄 수 있는 모든 조언에 진심으로 감사드립니다. 미리 감사드립니다!

설명: 내 index.php에 있는 8페이지의 내용(일부 텍스트)을 표시하고 얻은 내용을 무작위 순서로 표시하고 싶습니다. 페이지의 텍스트 데이터 검색을 시작할 위치를 선택하는 방법을 몰랐기 때문에 문자 옵션(1305자 이후 시작, 375자 계산)을 선택했습니다.

코드 1(8페이지를 선택하여 무작위 순서로 표시)

으아악

코드 2(페이지에서 콘텐츠 가져오기, 문자 1305부터 시작, 375자만 표시)

으아악

병합 코드가 작동하지 않습니다

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

P粉148782096P粉148782096423일 전619

모든 응답(1)나는 대답할 것이다

  • P粉349222772

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

    코드 형식을 더 잘 지정하면 이해하기 더 쉬울 수 있습니다. 특히 마지막 두 줄은 다음과 같이 작성하는 것이 가장 좋습니다.

    으아아아

    그러면 문제가 어디에 있는지 알 수 있습니다. file_get_contents()的结果没有被赋值给任何变量,所以它只是消失了;而您看到的是最后一个require()的结果,它传递了上一个foreach循环中$file의 마지막 값을 호출하면 됩니다.

    실제로는 file_get_contents() 호출에 문제가 있는 것 같습니다. 첫 번째 인수는 문자열이어야 하는데 문자열에 포함된 배열의 이름을 전달하고 있는데 조금 이상합니다. 시도해본 적이 없습니다. 그래서 무슨 일이 일어나는지 잘 모르겠습니다.

    제 생각에는 루프에 명령문이 하나만 있을 때마다 중괄호를 사용하는 것이 더 좋습니다. 그러면 오류를 피하기가 더 쉬워집니다.

    회신하다
    0
  • 취소회신하다