配列キー値の大文字と小文字の変換
phpは大文字と小文字の変換array_を実現する関数を提供します.change_key_case(array,case)arrayが必要です.使用する配列を指定します.case CASE_LOWER-デフォルト、小文字;CASE_UPPER大文字.例:
残念なことに,この方法は1次元配列の変換しか実現できない.多次元配列の変換を実現するための関数を以下に書きます.
その後、元の配列の値を変えるのは良い注意ではないと考えて、次のように書きました.
自分のコードを書き続けることは、技術の向上に大きなメリットがあります.
$arr = array('ID' => 1, 'NAME'=> 'Yami', 'Con' => array('PHONE' => '123456', 'EMAIL' => '[email protected]') );
print_r(array_change_key_case($arr,CASE_LOWER));
残念なことに,この方法は1次元配列の変換しか実現できない.多次元配列の変換を実現するための関数を以下に書きます.
/*
*
*
* @author yamiliu<[email protected]>
* @params $aValue array
* @params $case boolean 0: 、 ;1:
*
*/
function changeArrKey(&$aValue, $case = 0)
{
foreach ( $aValue as $key => $item ) {
if ( $case ) {
$keyTemp = strtoupper($key);
} else {
$keyTemp = strtolower($key);
}
if ( $keyTemp != $key ) {
unset($aValue[$key]);
$aValue[$keyTemp] = $item;
}
if ( is_array($item) ) {
changeArrKey($aValue[$keyTemp], $case);
}
}
}
//
$arr = array('ID' => 1, 'NAME'=> 'Yami', 'Con' => array('PHONE' => '123456', 'EMAIL' => '[email protected]') );
changeArrKey($arr);
var_dump($arr);
その後、元の配列の値を変えるのは良い注意ではないと考えて、次のように書きました.
/*
* @author yamiliu<[email protected]>
* @params array $aValue
* @params boolean $case 0: 、 ;1:
* @return array
*/
function array_key_to_case( $aValue, $case = 0 )
{
$aValueTemp = array();
foreach ( $aValue as $key => $item ) {
if ( $case ) {
$keyTemp = strtoupper($key);
} else {
$keyTemp = strtolower($key);
}
$aValueTemp[$keyTemp] = $item;
if ( is_array($item) ) {
$aValueTemp[$keyTemp] = array_key_to_case($item, $case);
}
}
return $aValueTemp;
}
//
$arr = array('id' => 1, 'name'=> 'Yami', 'Con' => array('phone' => '123456', 'email' => '[email protected]') );
$r = array_key_to_case($arr, 1);
print_r($r);
自分のコードを書き続けることは、技術の向上に大きなメリットがあります.