簡體   English   中英

PHP 訪問多維數組中的元素

[英]Accessing elements in a multidimensional array in PHP

我試圖將列表中的每個子域與其主域名相關聯,我這樣做是這樣的:

<?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;
        }
    }
}

最終$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"
  }
}

但是,我現在想這樣回顯信息:

<main domain> <sub domain>
<main domain> <sub domain>
...

IE:

example.com sub.example.com
example.com mail.example.com
example.org ftp.example.org
example.co.uk ftp.example.co.uk

我怎樣才能做到這一點?

最重要的是建立初始結構。

$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";
    }
}

輸出:

example.co.uk ftp.example.co.uk
example.co.uk zzz.example.co.uk

正是你所要求的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM