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

时间:2013-08-05 22:01:32

标签: php arrays loops ping

所以,我有一个名为$ modSites的简单数组,它只是一个需要ping的网址列表。

我遍历数组:

## 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每个URL,并将结果打印在表中。从数组中提取的值最有效的方法是填入我可以在下面的代码片段中分配给$ 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.';
}

2 个答案:

答案 0 :(得分:3)

我会做这样的事情:

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

如果你想在foreach循环中移动时构建一个数组,那么可以使用这样的东西:

$latencyArray[$site] = $latency;

答案 1 :(得分:3)

您可以创建单个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.';
    }
}