首頁 >後端開發 >PHP問題 >php如何對數組進行轉碼

php如何對數組進行轉碼

王林
王林原創
2021-06-10 14:42:162387瀏覽

php對陣列進行轉碼的方法是,使用mb_convert_encoding函數轉換字元的編碼,例如【mb_convert_encoding($value, "UTF-8", "GB2312");】,表示轉換GB2312編碼為UTF -8。

php如何對數組進行轉碼

本文操作環境:windows10系統、php 7.3、thinkpad t480電腦。

下面分享了兩種對陣列進行轉碼的具體程式碼,供大家參考!

使用到的函數介紹:

array_map() 函數將使用者自訂函數作用到陣列中的每個值上,並傳回使用者自訂函數作用後的帶有新的值的數組。

函數語法:

array_map(myfunction,array1,array2,array3...)

參數:

  • myfunction    使用者自訂函數的名稱,或 null。   

  • array1    規定陣列。   

  • array2    規定陣列。   

  • array3    規定陣列。   

mb_convert_encoding函數用來轉換字元的編碼。

說明:

mb_convert_encoding ( array|string $string , string $to_encoding , array|string|null $from_encoding = null ) : array|string|false

將 string 類型 str 的字元編碼從可選的 from_encoding 轉換到 to_encoding。當參數 string 是一個 array 時,將遞迴轉換它所有的 string 值。

轉換GB2312編碼為UTF-8

具體程式碼如下:

//更改编码为utf8
protected function array2utf8($array){
	$array = array_map(function($value){
		if(is_array($value)){
			return $this->array2utf8($value);
		} else{
			return mb_convert_encoding($value, "UTF-8", "GB2312");
		}
	}
	, $array);
	return $array;
}
  

轉換UTF-8編碼為GB2312

##具體程式碼如下:

protected function array2gbk($array){
	$array = array_map(function($value){
		if(is_array($value)){
			return $this->array2gbk($value);
		} else{
			return mb_convert_encoding($value, "GB2312", "UTF-8");
		}
	}
	, $array);
	return $array;
}

相關影片分享:

php影片教學#

以上是php如何對數組進行轉碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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