如何计算数组的各个部分?例如:
阵列:
[name] => Michael
[surname] => Hadfield
[midname] => Olsow
[email] => mh@mail.com
[phone] => 3342020
我想计算除[midname]和[phone]之外的数组字段 所以结果应该是3
而且我想从这个数组创建数组,结果为:
[name] => Michael
[surname] => Hadfield
[email] => mh@mail.com
有可能吗?
答案 0 :(得分:1)
您可以尝试这样的事情:
$keys_to_exclude = array( 'midname', 'phone');
$new_array = array_diff_key( $original_array, array_flip( $keys_to_exclude));
echo count( $new_array);
print_r( $new_array);
使用此输入数组:
$original_array = array(
'name' => 'Michael',
'surname' => 'Hadfield',
'midname' => 'Olsow',
'email' => 'mh@mail.com',
'phone' => 3342020
);
您应该获得your desired output,即echo count();
打印3
,结果为$new_array
:
Array
(
[name] => Michael
[surname] => Hadfield
[email] => mh@mail.com
)
答案 1 :(得分:0)
使用循环计算您想要的部分
将count($array)
的结果乘以.6(假设总有五个部分和三个要计算的数量)
$count = count($array) * .6;
答案 2 :(得分:0)
我猜你总是可以复制数组,取消设置2个索引,然后计算它:
$array_copy = $array;
unset($array_copy('midname')); // Note unsetting a non-existent key does NOT throw an error.
unset($array_copy('phone'));
echo count($array_copy);