0

私は次のような連想配列を持っています

Array ( [1274] => 2 [2700] => 3 [2701] => 4 [2702] => 2 [2699] => 2 [2698] => 1 [2694] => 1......)

私が欲しいのは、この配列から最初の10個の要素を取得することです。使用しarray_sliceました。しかし、新しいアレイは次のようになります

Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 2 [4] => 2 [5] => 1 [6] => 1.....)

アレイを制限しますが、アレイキーは削除されています。どうすればキーも入手できますか?アドバイスありがとうございます。

4

3 に答える 3

2

さて、あなたはこのようなことをすることができます:

$slice = array_intersect_key($whole,array_flip(array_slice(array_keys($whole),0,10)));

もっと読みやすいものが必要な場合は、これでうまくいきます。

$keys = array_keys($whole);
$slice = Array();
$firstkeys = array_slice($keys,0,10);
foreach($firstkeys as $key) $slice[$key] = $whole[$key];
于 2013-03-07T03:18:48.313 に答える
2

配列の反復を制限して、配列に戻すことができます。

$first = iterator_to_array(new LimitIterator(new ArrayIterator($array), 0, 10));

デモ

于 2013-03-07T03:36:31.037 に答える
0

これを試して :

$res    = array_chunk($array,10,true);

echo "<pre>";
print_r($res[0]);

10の2番目のセットを知りたい場合print_r($res[1]);

于 2013-03-07T07:00:51.413 に答える