[英]Accessing elements in a multidimensional array in PHP
I am trying to associate every subdomain, from a list, with its main domain name and I am doing this like so:我试图将列表中的每个子域与其主域名相关联,我这样做是这样的:
<?php
$main_domains = ['example.co.uk','example.com','example.org'];
$subdomains = ['sub.example.com','ftp.example.org','ftp.example.co.uk','mail.example.com'];
$results = [];
foreach ($subdomains as $subdomain) {
foreach ($main_domains as $domain) {
if (strpos($subdomain, $domain) !== false) {
$results[$domain][] = $subdomain;
continue;
}
}
}
Where in the end $results
contains the following:最终$results
包含以下内容:
array(3) {
["example.com"]=>
array(2) {
[0]=>
string(15) "sub.example.com"
[1]=>
string(16) "mail.example.com"
}
["example.org"]=>
array(1) {
[0]=>
string(15) "ftp.example.org"
}
["example.co.uk"]=>
array(1) {
[0]=>
string(17) "ftp.example.co.uk"
}
}
However, I would now like to echo out the information like so:但是,我现在想这样回显信息:
<main domain> <sub domain>
<main domain> <sub domain>
...
ie: IE:
example.com sub.example.com
example.com mail.example.com
example.org ftp.example.org
example.co.uk ftp.example.co.uk
How can I do that?我怎样才能做到这一点?
most importantly is to set up the initial structure.最重要的是建立初始结构。
$dom=array('example.co.uk'=>array('ftp.example.co.uk','zzz.example.co.uk'));
foreach($dom as $domain=>$sub){
foreach($sub as $s){
echo $domain.' '.$s."\n";
}
}
output:输出:
example.co.uk ftp.example.co.uk example.co.uk ftp.example.co.uk
example.co.uk zzz.example.co.uk example.co.uk zzz.example.co.uk
exacly what you asked for.正是你所要求的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.