我有一个数组
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
]
我想知道每一个的数据类型,所以我做了这个
$cpe_type = [];
foreach ($cpe as $k => $v) {
$cpe_type[$k] = gettype($v);
}
我得到了我想要的东西
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"
]
是否有任何预先制作的PHP函数可以为我提供类似的功能?
答案 0 :(得分:2)
您可以使用array_map
:
var_dump(array_map('gettype', $array));
答案 1 :(得分:2)
使用gettype作为回调的ArrayMap就足够了。
这将是您希望实现的最接近的原生实现。
答案 2 :(得分:0)