PHP-循环遍历一个数组,并将每个结果用作类中的一个变量


PHP- Loop through an array, and use each result as a variable in a class

因此,我有一个名为$modSites的简单数组,它只是需要ping的url列表。

我在数组中循环:

## Get array length ##
$modLength = count($modSites);
## For loop, until end of array is reached ##
for ( $i = 0; $i < $modLength; x++ );

但是现在,我想使用一个php类:https://github.com/geerlingguy/Ping,以ping每个URLS,并将结果打印在表格中。在下面的代码片段中,将从数组中提取的值填充到可以分配给$host的变量中,最有效的方法是什么?。。。这样我就可以打印值了?

require_once('Ping/Ping.php');
$host = 'www.example.com';
$ping = new Ping($host);
$latency = $ping->ping();
if ($latency) {
  print 'Latency is ' . $latency . ' ms';
}
else {
  print 'Host could not be reached.';
}

我会这样做:

foreach ($modSites as $site) {
  $ping = new Ping($site);
  $latency = $ping->ping();
  if ($latency) {
    print $latency;
  } else {
    print "failed.";
  }
}

如果你想在foreach循环中构建一个数组,那么可以使用这样的方法:

$latencyArray[$site] = $latency;

您可以创建一个Ping对象,只需更改主机。您也可以使用foreach循环:

require_once('Ping/Ping.php');
$ping = new Ping('');
foreach ($modSites as $site) {
    $ping->setHost($site);
    $latency = $ping->ping();
    if ($latency) {
      print 'Latency is ' . $latency . ' ms';
    }
    else {
      print 'Host could not be reached.';
    }
}