首頁 > 後端開發 > PHP問題 > php怎麼去掉陣列的key

php怎麼去掉陣列的key

PHPz
發布: 2023-04-23 10:27:18
原創
1669 人瀏覽過

在PHP開發中,陣列是常用的資料結構之一。在處理數組時,有時候需要去掉數組的key,只取數組中的值。下面,我們來介紹幾種常用的去掉數組key的方法。

方法一:foreach循環

使用foreach循環遍歷數組時,可以只取出數組的值。範例如下:

$arr = array('one'=>1, 'two'=>2, 'three'=>3);
foreach ($arr as $value) {
   echo $value . " ";
}
// 输出:1 2 3
登入後複製

透過這種方式,我們可以只取出數組中的值,而不關心鍵名。

方法二:array_values()函數

PHP提供了一個專門去掉陣列鍵名的函數 array_values()。此函數傳回一個只包含數組中所有值的新數組,沒有鍵名。範例如下:

$arr = array('one'=>1, 'two'=>2, 'three'=>3);
$newArr = array_values($arr);
print_r($newArr);
// 输出:Array ( [0] => 1 [1] => 2 [2] => 3 )
登入後複製

透過這種方式,我們可以得到一個不含鍵名的新陣列。

方法三:array_map()函數

array_map()函數是一個非常強大的函數,它可以對數組中的每個元素應用回調函數,然後傳回一個數組,該數組的每個元素都是回呼函數的回傳值。範例如下:

$arr = array('one'=>1, 'two'=>2, 'three'=>3);
$newArr = array_map(function($value) { return $value; }, $arr);
print_r($newArr);
// 输出:Array ( [one] => 1 [two] => 2 [three] => 3 )
登入後複製

可以看到,array_map()函數並沒有去掉陣列的鍵名。我們可以透過結合使用array_map()函數和array_values()函數來實現去掉陣列鍵名的效果,範例如下:

$arr = array('one'=>1, 'two'=>2, 'three'=>3);
$newArr = array_values(array_map(function($value) { return $value; }, $arr));
print_r($newArr);
// 输出:Array ( [0] => 1 [1] => 2 [2] => 3 )
登入後複製

結合使用array_map()函數和array_values()函數,我們可以得到一個不含有鍵名的新數組。

方法四:強制型別轉換

將一個陣列強制轉換為整數或字串型,PHP會自動去掉陣列的鍵名,只取陣列中的值。範例如下:

$arr = array('one'=>1, 'two'=>2, 'three'=>3);
echo (int)$arr;
// 输出:Array
echo (string)$arr;
// 输出:Array
登入後複製

透過強制型別轉換,我們同樣可以得到一個不含鍵名的新陣列。

綜上所述,我們介紹了四種去掉陣列鍵名的方法:foreach循環、array_values()函數、array_map()函數結合array_values()函數、以及強制型別轉換。各種方法各有優缺點,依具體需求選擇不同的方法即可。

以上是php怎麼去掉陣列的key的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板