I have an array
array:23 [▼
"cpe_mac" => "204492519985"
"bandwidth_max_up" => 30000
"bandwidth_max_down" => 50000
"filter_icmp_inbound" => true
"dmz_enabled" => false
"dmz_host" => "http:\/\/ddd.com"
"vlan_id" => 2
"dns" => array:2 [▶]
"xdns_mode" => 0
"cfprofileid" => 11111
"stub_response" => 0
"acl_mode" => 1
"portal_url" => "http:\/\/portal.com"
"fullbandwidth_max_up" => 1000000
"fullbandwidth_max_down" => 2000000
"fullbandwidth_guaranty_up" => 300000
"fullbandwidth_guaranty_down" => 400000
"account_id" => 1000
"location_id" => 3333
"network_count" => 3
"group_name" => "test_group"
"vse_id" => 20
"firewall_enabled" => false
]
I want to know the data type of each one of them, so I did this
$cpe_type = [];
foreach ($cpe as $k => $v) {
$cpe_type[$k] = gettype($v);
}
I got as what I wanted
array:23 [▼
"cpe_mac" => "string"
"bandwidth_max_up" => "integer"
"bandwidth_max_down" => "integer"
"filter_icmp_inbound" => "boolean"
"dmz_enabled" => "boolean"
"dmz_host" => "string"
"vlan_id" => "integer"
"dns" => "array"
"xdns_mode" => "integer"
"cfprofileid" => "integer"
"stub_response" => "integer"
"acl_mode" => "integer"
"portal_url" => "string"
"fullbandwidth_max_up" => "integer"
"fullbandwidth_max_down" => "integer"
"fullbandwidth_guaranty_up" => "integer"
"fullbandwidth_guaranty_down" => "integer"
"account_id" => "integer"
"location_id" => "integer"
"network_count" => "integer"
"group_name" => "string"
"vse_id" => "integer"
"firewall_enabled" => "boolean"
]
Is there any pre-made PHP functions that can provide me similar functionality?
You can use array_map
:
var_dump(array_map('gettype', $array));