簡體   English   中英

如何從php中的多維數組中獲取特定值?

[英]How to get specific value from multidimensional array in php?

如何獲取此多維數組的 id、friendlyname、url 和 status 的值,如何遍歷數組以獲取特定值。 還有如何根據 ID 獲取單個監視器的類型和日期時間

Array
(
    [stat] => ok
    [offset] => 0
    [limit] => 50
    [total] => 4
    [monitors] => Array
        (
            [monitor] => Array
                (
                    [0] => Array
                        (
                            [id] => 778539790
                            [friendlyname] => Centaur
                            [url] => http://centaurdatacorp.in
                            [type] => 1
                            [subtype] => 
                            [keywordtype] => 
                            [keywordvalue] => 
                            [httpusername] => 
                            [httppassword] => 
                            [port] => 
                            [interval] => 300
                            [status] => 2
                            [alltimeuptimeratio] => 100
                            [log] => Array
                                (
                                    [0] => Array
                                        (
                                            [type] => 2
                                            [datetime] => 01/10/2017 10:16:51
                                        )

                                    [1] => Array
                                        (
                                            [type] => 98
                                            [datetime] => 01/10/2017 10:16:39
                                        )

                                )

                        )

                    [1] => Array
                        (
                            [id] => 778539794
                            [friendlyname] => Centaur dotcom
                            [url] => http://centaurdatacorp.com
                            [type] => 1
                            [subtype] => 
                            [keywordtype] => 
                            [keywordvalue] => 
                            [httpusername] => 
                            [httppassword] => 
                            [port] => 
                            [interval] => 300
                            [status] => 2
                            [alltimeuptimeratio] => 100
                            [log] => Array
                                (
                                    [0] => Array
                                        (
                                            [type] => 2
                                            [datetime] => 01/10/2017 10:17:22
                                        )

                                    [1] => Array
                                        (
                                            [type] => 98
                                            [datetime] => 01/10/2017 10:17:10
                                        )

                                )

                        )


                )

        )

)

我不確定您為什么要使用該數組結構。 如果您自己制作,建議您刪除“監視器”數組,並將其內容移動到“監視器”中

無論如何,假設您的數組名為 $monitors

foreach($monitors['monitors'] as $k => $v) { 
    foreach($v['monitor'] as $monitor) { 

         echo "monitor id: " . $monitor['id'] . "<br>\n";
         echo "friendly name: " . $monitor['friendlyname'] . "<br>\n";
    }
}

並獲取監視器 ID 的日期時間:

function getLogById($monitors, $id) {
    foreach($monitors['monitors'] as $k => $v) { 
        foreach($v['monitor'] as $monitor) { 
            if($monitor['id'] == $id) {
                //Depending on what you exactly want returned, do something here
                return $monitor['log'];
            }
        }
    }

    return null;
}

//and you can use this like so:
getLogById($monitors, 778539794);

暫無
暫無

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

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