首頁  >  文章  >  後端開發  >  怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

WBOY
WBOY原創
2021-11-08 16:29:363621瀏覽

在之前的文章《PHP中怎樣透過不同的方式填滿陣列? 》中詳細的介紹了在PHP中怎樣去填充數組的相關知識,這篇文章我們來看一下PHP數組操作中鍵名的相關操作,希望對大家有幫助!

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

在先前的文章中我們了解了可以透過array_fill函數、array_fill_keys函數來實作對陣列進行填滿操作,下面我們就來看看在PHP中怎麼才能實現將數組中的鍵名全部輸出。有怎樣才能將數組中的鍵名全部轉換為大寫或小寫。

想要取得數組中全部的鍵名可以透過array_keys函數,想要將數組中的鍵名全部轉換為大寫或小寫可以透過array_change_key_case函數來實現,下面我們就一起來看這兩種函數的使用方法。

<span style="font-size: 20px;">array_keys</span>函數-傳回數組中所有的鍵名

在PHP中可以透過array_keys函數來透過傳回陣列形式的形式來取得陣列中所有的鍵名,array_keys函數的基本語法格式如下:

array_keys(array,value,strict)

其中需要注意的是:

參數array是一個必須要有的參數,表示的是需要進行取得鍵名運算的陣列;參數value是可選參數,當這個參數沒有填寫的時候,回傳的結果是數組中全部值的鍵名,當參數value規定了之後,回傳的結果就是與參數value相同數組值對應的鍵名。

參數strict通常情況與參數value一起使用,當參數stricttrue的時候,表示返回結果中的鍵名類型會區分開,字串與數值是不同的,當參數strictfalse的時候,這也是該參數預設的參數,傳回的結果建明類型不會區分,字串與數值是相同的。

接下來我們透過範例來看一下array_keys函數的使用,範例如下:

當不使用value參數的時候

<?php
$a=array("aaa"=>"好好学习","bbb"=>"天天向上","ccc"=>"福如东海","ddd"=>"寿比南山");
print_r(array_keys($a));
?>

輸出結果:

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

#上述範例中沒有填入參數value和參數strict,array_keys函數傳回了陣列的所有鍵名,下面我們來看一下,輸入了參數value,輸出結果有什麼區別,範例如下:

<?php
$a=array("aaa"=>"好好学习","bbb"=>"天天向上","ccc"=>"福如东海","ddd"=>"寿比南山");
print_r(array_keys($a));
echo &#39;<br/>&#39;;
print_r(array_keys($a,"天天向上"));
?>

輸出結果:

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

在上述範例中,參數value設定了之後,回傳的結果就只有與參數value對應的鍵名,下面我們再看一下,參數strict不同是輸出結果有什麼不同,範例如下:

<?php
$a=array("aaa"=>"111","bbb"=>"222","ccc"=>111,"ddd"=>222);
print_r(array_keys($a,"222",true));
echo &#39;<br/>&#39;;
print_r(array_keys($a,"222",false));
?>

輸出結果:

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

上述範例中,雖然都是要傳回字串「222」的鍵名,當參數strict設定為true時,字串222和數字222的界限很嚴格,所以只輸出了字串222的鍵名;當參數strict設定為false時,字串和數字的類型區分不嚴格,所以輸出結果會有兩個鍵名。

上述範例便是透過array_keys函數輸出陣列中的鍵名。下面我們來看看怎麼將陣列中的鍵轉換為大小寫。

<strong><span style="font-size: 20px;">array_change_key_case</span></strong>#函數-轉換鍵名稱大小寫

#在PHP中可以透過array_change_key_case函數將陣列中所有的鍵名轉換為大寫或小寫,array_change_key_case函數的基本語法格式如下:

array_change_key_case(array,case);

其中需要注意的是:參數array表示的就是需要進行大小寫轉換的數組,參數case是一個可選參數,預設參數的值是CASE_LOWER#表示的是將數組中的所有鍵名轉換為小寫,當參數case為CASE_UPPER#時表示的是將數組內的所有鍵名轉換為大寫字母。

回傳的結果就是已經轉換大小寫完成的數組,如果數組出現錯誤的話,輸出的結果是false。

下面我們透過範例來看一下array_change_key_case函數的使用,範例如下:

<?php
$a=array("AAA"=>"111","BbB"=>"222","ccC"=>"333");
print_r(array_change_key_case($a,CASE_LOWER));
?>

輸出結果:

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

#

上述示例中,参数case设置成了CASE_LOWER因此数组中的键名成了小写,下面我们来看一下,

当数组中的元素键名,既存在大写也存在小写的时候,也就是说,当通过array_change_key_case函数转换为大写或者小写的时候,两个键名会相等,这时候结果会有什么变化?

我们通过示例来看一下,示例如下:

<?php
$a=array("AAA"=>"111","BbB"=>"222","aaa"=>"333");
print_r(array_change_key_case($a,CASE_UPPER));
?>

输出结果:

怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?

通过上述示例能够看出,当转换之后两个键名相等的时候,后面的值会将前面的值给覆盖掉。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上是怎樣取得數組中的鍵名?怎樣轉換鍵名的大小寫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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