切片数组和计数


Slicing array and count

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

数组:

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

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

我还要从这个数组中创建一个数组结果为

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

有可能吗?

您可以尝试这样做:

$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
)
  1. 使用一个循环来计数你想要的部分

  2. count($array)的结果乘以。6(假设总是有五部分和三部分要计数)

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

我猜你总是可以复制数组,取消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);