首页 > 解决方案 > 在 PHP 中进行总计或计数循环

问题描述

有人帮助我。这是php代码:

<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); 
for ($i = 0; $i <= 100; $i++) {
$url = "site.com";
$h = [
    "Accept-Language: en-US,en;q=0.8",
     ];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $h);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$x = curl_exec($ch);
curl_close($ch);
if(preg_match("<!DOCTYPE html>", "$x")) {
echo "Succes\n";
}
else
{
echo "Error\n";
}
$i++;
}
?>

如何使用上面的代码在 php 中进行计数。我想知道成功结果的总循环数和错误结果的总循环数。我想从上面的 php 代码中得到一个总输出。

示例输出:

成功70次 ,错误30次

标签: phploopscountpreg-match

解决方案


您可以在最顶部定义 2 个变量(如代码所示)并递增它们而不是打印“成功”和“错误”。然后您可以在脚本底部打印定义的变量。

<?php
$success = 0;
$error = 0;

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); 
for ($i = 0; $i <= 100; $i++) {
    $url = "http://eyus.co.id/ip.php";
    $h = [
        "Accept-Language: en-US,en;q=0.8",
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $h);
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $x = curl_exec($ch);
    curl_close($ch);
    if(preg_match("<!DOCTYPE html>", "$x")) {
        $success++;
    } else {
        $error++;
    }
}

echo 'Success: '.$success;
echo 'Error: '.$error;
?>

推荐阅读