[英]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.