我有这样的东西:
host1 | port1
host2 | port2
host3 | port3
host4 | port4
现在,我需要将对插入到数组中,以便在循环中使用它们:
尝试遍历数组
中的一个值$hosts = array('host1','host2','host3');
foreach ($hosts as $host) {
echo $host;
}
我如何添加对数组,所以我可以调用说host
它输出主机和端口?
您可以这样创建数组,为每个主机创建命名密钥:
$hosts = array(
'host1' => 'port1',
'host2' => 'port2',
'host3' => 'port3'
);
(例1:http://www.php.net/manual/en/function.array.php)
然后可以像这样遍历数组以获取数组的键和值:
foreach($hosts as $host => $port){
echo 'This is the ' . $host;
echo 'This is the ' . $port;
}
(http://www.php.net/manual/en/control-structures.foreach.php)
可以使用多维数组。像这样
$data= array
(
array("host1","yourport1"),
array("host2","yourport2"),
array("host3","yourport3"),
);
,可以像这样访问
echo "Host: ". $data[0][0]." Port: ".$data[0][1];
您可以将数组添加到数组中,从而得到多维数组:
$hosts = array(array('host1', 'port1'), array('host2', 'port2'));
快捷方式:
// also You can define it as string directly, but I think You have a file :)
foreach(explode(PHP_EOL,file_get_contents('myIP.txt')) as $line){
$hosts[explode(' | ',$line)[0]] = explode(' | ',$line)[1];
}
var_dump($hosts);
// You will have pairs host1 => port1, host2=>port2, etc
有更多的方法与array_walk
,但我懒得读关于array_walk
的文档。