0

如何计算数组的部分?例如:

大批:

[name] => Michael
[surname] => Hadfield
[midname] => Olsow
[email] => mh@mail.com
[phone] => 3342020

我想计算不包括 [midname] 和 [phone] 的数组字段,所以结果应该是 3

而且我还想从这个数组创建数组,结果是:

[name] => Michael
[surname] => Hadfield
[email] => mh@mail.com

可能吗?

4

3 回答 3

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
);

你应该得到你想要的输出,即echo count();打印3,结果$new_array是:

Array
(
    [name] => Michael
    [surname] => Hadfield
    [email] => mh@mail.com
)
于 2013-03-13T01:29:11.177 回答
0
  1. 使用循环来计算您想要的部分

  2. 将结果乘以count($array)0.6(假设总是有五个部分和三个要计算的部分)

    $count = count($array) * .6;

于 2013-03-13T01:19:16.000 回答
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);
于 2013-03-13T01:22:07.200 回答