在之前的文章《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
一起使用,當參數strict
為true
的時候,表示返回結果中的鍵名類型會區分開,字串與數值是不同的,當參數strict
為false
的時候,這也是該參數預設的參數,傳回的結果建明類型不會區分,字串與數值是相同的。
接下來我們透過範例來看一下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 '<br/>'; 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 '<br/>'; print_r(array_keys($a,"222",false)); ?>
輸出結果:
上述範例中,雖然都是要傳回字串「222」的鍵名,當參數strict設定為true時,字串222和數字222的界限很嚴格,所以只輸出了字串222的鍵名;當參數strict設定為false時,字串和數字的類型區分不嚴格,所以輸出結果會有兩個鍵名。
上述範例便是透過array_keys
函數輸出陣列中的鍵名。下面我們來看看怎麼將陣列中的鍵轉換為大小寫。
<strong><span style="max-width:90%">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中文網其他相關文章!