3

私はかなり奇妙な配列を持っています:

Array
(
   [title] => title
   [weight] => 0
   [0] => Text1
   [1] => Text2
   [additional] => Info
}

キーが数値(のみ)である配列要素をカウントするにはどうすればよいですか?

4

2 に答える 2

9
$data = array(
    'title' => 'title',
    'weight' => 0,
    0 => 'Text1',
    1 => 'Text2',
    'additional' => 'Info'
);

$keyCount = count(
    array_filter(
        array_keys($data),
        'is_numeric'
    )
);

var_dump($keyCount);

編集

また、PHP バージョン 5.6.0 からは、

$keyCount = count(
    array_filter($data, 'is_numeric', ARRAY_FILTER_USE_KEY)
);
于 2013-02-03T21:53:15.393 に答える
2

シンプルに静かにする必要があります:

$i = 0;
foreach  ($arr as $k => $v) {
    if (is_numeric($k))
        $i++;
}
于 2013-02-03T21:50:52.217 に答える