L oop до тех пор, пока сообщение ответа на запрос не станет равно «истина» в php - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь создать сценарий php, который сделает al oop, который получит содержимое моего сайта / сервера, и если текстовый ответ будет, например, «false», то он сделает то же самое, в основном будет l oop до тех пор, пока текстовый ответ сайта не отобразит "true". Это то, что я пробовал:

    $getcontents = file_get_contents("http://example.com/script.php"); // it will echo false
    if (strpos($getcontents , 'false')) {
            $getcontents = file_get_contents("http://example.com/script.php"); 
     else if (strpos($getcontents , 'false')) {
      $getcontents = file_get_contents("http://example.com/script.php"); 
}
else if (strpos($getcontents , 'true')) {
      echo "finished".;
}

Я не уверен, правильный ли это путь или даже если это возможно, и заранее прошу прощения, если я не очень хорошо объяснил себя. Спасибо за внимание!

1 Ответ

1 голос
/ 29 мая 2020

Вы можете использовать обычный while l oop.

$getcontents = 'false'; //set value to allow loop to start
while(strpos($getcontents , 'false') !== false) {
    $getcontents = file_get_contents("http://example.com/script.php");
}
echo "finished";

Это будет l oop до тех пор, пока $getcontents не будет содержать false.


Вы также можете использовать такую ​​рекурсивную функцию.

function check_for_false() {

    $getcontents = file_get_contents("http://example.com/script.php");

    if(strpos($getcontents , 'false') !== false) {
        check_for_false();
    } else if(strpos($getcontents , 'true') !== false) {
        echo "finished";
    } else {
        echo "response didn't contain \"true\" or \"false\"";
    }

}

Эта функция должна вызывать саму себя до тех пор, пока $getcontents не будет содержать слово true, а не содержит false .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...