首頁 > 後端開發 > PHP問題 > php怎麼去除二維數組的key(鍵)

php怎麼去除二維數組的key(鍵)

PHPz
發布: 2023-04-24 16:51:29
原創
726 人瀏覽過

在PHP程式設計中,我們常常會使用到陣列來儲存一些數據,而且PHP提供了許多方便的陣列操作函數和方法。不過,當我們需要對一個二維數組的鍵進行處理時,有時候需要將二維數組的鍵去除,只保留值,這時候該怎麼做呢?本文將為您介紹如何使用PHP去除二維數組的鍵。

一、什麼是二維陣列?

二維數組是指數組中的元素也是數組的一種資料型態。它由一個主數組和若干個子數組組成,每個子數組都可以看成一個獨立的數組。我們可以用下標來存取二維數組中的元素,例如,$arr0表示存取二維數組中的第一行第一列的元素。

下面是一個簡單的二維陣列範例:

$arr = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Jerry', 'age' => 20),
);
登入後複製

二、 二維陣列的鍵和值

在上面的範例中,二維陣列的鍵分別是0和1,每個子數組的鍵分別是name和age,對應的值分別是Tom​​、18、Jerry和20。在實際開發中,有時候我們需要將二維數組的鍵去掉,只保留其中的值,這時候可以使用PHP提供的array_values函數來實現。

array_values函數的作用是傳回一個二維陣列中所有的值,並重新建立一個索引陣列。也就是說,它拋棄了原數組的鍵,只保留值。以下是使用array_values函數的範例:

$newArr = array_values($arr);
print_r($newArr);
登入後複製

輸出結果如下:

Array
(
    [0] => Array
        (
            [name] => Tom
            [age] => 18
        )

    [1] => Array
        (
            [name] => Jerry
            [age] => 20
        )
)
登入後複製

可以看到,$newArr這個陣列只保留了原始數組中的值,而且每個子數組的鍵都被拋棄了,只剩下name和age對應的值。

三、 array_map函數

上面介紹的array_values函數只能針對二維陣列中的每個子陣列進行操作,如果我們需要對整個二維陣列進行操作,可以使用PHP提供的array_map函數。

array_map函數可以將自訂函數作用於二維數組中的所有元素,然後傳回一個新的二維數組,它的鍵被重置為從0開始的整數索引。以下是使用array_map函數的範例:

function removeKey($arr) {
    return array_values($arr);
}
$newArr = array_map('removeKey', $arr);
print_r($newArr);
登入後複製

輸出結果如下:

Array
(
    [0] => Array
        (
            [0] => Tom
            [1] => 18
        )

    [1] => Array
        (
            [0] => Jerry
            [1] => 20
        )
)
登入後複製

在這個範例中,我們定義了一個名為removeKey的自訂函數,這個函數和array_values類似,只不過它可以被array_map函數使用。我們將removeKey作為array_map的回呼函數傳入,$arr是需要處理的二維陣列。最後,$newArr是處理後的新陣列。

可以看到,$newArr這個陣列只保留了原始數組中的值,每個子數組的鍵都被拋棄了,只剩下name和age對應的值。

總結:

在PHP開發中,我們常常會使用到數組,而且數組運算非常靈活,可謂是PHP程式設計的基礎。當我們需要將二維陣列的鍵去掉時,可以使用PHP提供的array_values函數或array_map函數實作。這些函數都能夠拋棄原數組的鍵,只保留值,讓我們更方便地處理二維數組中的資料。

以上是php怎麼去除二維數組的key(鍵)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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