首頁  >  文章  >  後端開發  >  怎麼做到php重置數組為連續數字索引

怎麼做到php重置數組為連續數字索引

php中世界最好的语言
php中世界最好的语言原創
2018-05-18 13:45:471615瀏覽

這次帶給大家怎樣做php重置數組為連續數字索引,做到php重置數組為連續數字索引的注意事項有哪些,下面就是實戰案例,一起來看一下。

例如這樣的一個php陣列

$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
);

想要轉換成這樣的陣列:

$arr = array( 
  0 => 'apple', 
  1 => 'banana', 
  2 => 'orange' 
);

1、推薦的方式array_values 方法

這樣方式無論對普通數組還是關聯數組都適用

<?php 
$arr = array( 
  1 => '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 方法

該方法如果只給了一個陣列並且此陣列是數字索引的,則鍵名會以連續方式重新索引。所以只能適用於數字索引。

<?php 
 
$arr = array( 
  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、循環遍歷

最原始的方式,臃腫且不夠優雅,極力抵制。

<?php 
 
function resetArr($arr){ 
  $temp = array(); 
  foreach($arr as $v){ 
    $temp[] = $v; 
  } 
  return $temp; 
} 
 
$arr = array( 
  1 => 'apple', 
  3 => 'banana', 
  5 => 'orange' 
); 
 
print_r(resetArr($arr)); 
 
$arr1 = array( 
  'name' => 'jerry', 
  'age' => 16, 
  'height' => '18cm' 
); 
 
print_r(resetArr($arr1));

我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

php操作字串分割成陣列

#實作php合併陣列並保留鍵值有哪些方法?

PHP實作防止SQL注入方法總結

#

以上是怎麼做到php重置數組為連續數字索引的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn