关于多维数组编码与解码的问题
编码主要应对的是当给接口传递中文数据时,有时候会出现乱码的情况。所以需要对中文字符做编码和解码的操作
而对于多维数组则可以使用递归算法对数组做编码与解码。如下例:
<?php $arr=array( 'username'=>'小张', 'sex'=>'男', 'info'=>array( 'math'=>array( 'name'=>'数学', 'teacher'=>'李老师', 'scrore'=>80 ), 'chinese'=>array( 'name'=>'语文', 'teacher'=>'周老师', 'scrore'=>90 ) ) ); //使用递归对多维数组做urlencode编码 function array_urlencode($arr){ $new_array=array(); foreach ($arr as $key=>$value){ $new_array[urlencode($key)]=is_array($value)?array_urlencode($value):urlencode($value); } return $new_array; } //使用递归对多维数组多urldecode解码 function array_urldecode($arr){ $new_array=array(); foreach ($arr as $key=>$value){ $new_array[urldecode($key)]=is_array($value)?array_urldecode($value):urldecode($value); } return $new_array; } $encode_arr=array_urlencode($arr); var_dump($encode_arr); $decode_arr=array_urldecode($encode_arr); var_dump($decode_arr); ?>
页面效果如下: