Reputation: 58642
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?
Upvotes: 2
Views: 544
Reputation: 22911
From a debugging standpoint, var_dump
will show you a presentable output of the types and values of any object in PHP.
From a coding perspective, array_map
is the best to transform an array. Simply provide it a callback, and it will transform all the values:
array_map('gettype', $array);
Here is a working phpplayground example.
Upvotes: 0
Reputation: 528
ArrayMap with gettype as callback would be enough in your case.
That would be the closest native implementation of what you would like to achieve.
Upvotes: 2