PHP配列を連続デジタルインデックスにリセットするいくつかの方法

2073 ワード

例えばphp配列は
$arr = array(
    1 => 'apple',
    3 => 'banana',
    5 => 'orange'
);

このような配列に変換するには、次の手順に従います.
$arr = array(
    0 => 'apple',
    1 => 'banana',
    2 => 'orange'
);

1、おすすめの方法array_valuesメソッド
この方法は、通常の配列にも関連配列にも適用されます.
 'apple',
    3 => 'banana',
    5 => 'orange'
);

print_r(array_values($arr));

$arr1 = array(
    'name' => 'jerry',
    'age' => 16,
    'height' => '18cm'
);

print_r(array_values($arr1));

出力結果:
[root@localhost php]# php array.php 
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Array
(
    [0] => jerry
    [1] => 16
    [2] => 18cm
)

2、arrayを使うmergeメソッド
このメソッドでは、配列が1つしか与えられず、配列が数値インデックスである場合、キー名は連続的に再インデックスされます.したがって、数値インデックスにのみ適用できます.
 'apple',
    3 => 'banana',
    5 => 'orange'
);

print_r(array_merge($arr));

$arr1 = array(
    'name' => 'jerry',
    'age' => 16,
    'height' => '18cm'
);

print_r(array_merge($arr1));

出力結果:
[root@localhost php]# php array.php 
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)
Array
(
    [name] => jerry
    [age] => 16
    [height] => 18cm
)

3、循環遍歴
最も原始的な方法は、肥大化して優雅ではなく、極力抵抗している.
 'apple',
    3 => 'banana',
    5 => 'orange'
);

print_r(resetArr($arr));

$arr1 = array(
    'name' => 'jerry',
    'age' => 16,
    'height' => '18cm'
);

print_r(resetArr($arr1));

That‘s it!