使用PHP与Mysql进行数据提取并传递给前台模板显示,Json的数据格式方便了我们处理数据解析显示在页面。下面记录一些PHP数组与Json的转化函数。
自定义一个转化为Json格式的函数,把一个数组变成用,(逗号)连接起来的字符串 (注意:应考虑到多维数组的情况,并以返回值的形式返回)
$arr1 = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
$arr2 = array(1, 2, 3, 4, 5, 6=>'fanglor');
function arr2str ($arr){
static $res_arr = array();
if (is_array ($arr)){
foreach ($arr as $key => $val ){
if (is_array($val)){
arr2str ($val);
}else{
$res_arr[] = $val;
}
}
}elseif (is_string ($arr)){
$res_arr[] = $arr;
}
return implode(',',$res_arr);
}
调用:
// $str = arr2str ($arr1);
// $str = arr2str ($arr2);
// print_r($str);
附上一个将数组对象转化成JSON字符串的函数。
/*
*函数功能:将数组对象转化成JSON字符串
*传入参数:数组对象
*返回值:json字符串
*限制:数组深度<=2
*/
function toJSON($arr){
$str = "{";
foreach ($arr as $key => $value) {
if(is_array($value)){
$str .= "\"".$key."\":"."{";
foreach ($value as $key1 => $value1) {
$str .= "\"".$key1."\":"."\"".$value1."\",";
}
$str = rtrim($str,',');
$str .= "},";
}else{
$str .= "\"".$key."\":"."\"".$value."\",";
}
}
$str = rtrim($str,','); //去掉右边的逗号
$str .= "}";
return $str;
}
调用:
在公司进行微信开发,圣诞偷苹果项目时候这样使用(代码片段):
$sql="select id,nickname,headimg,apple_num from leju_apple_user ORDER BY apple_num DESC limit 50";
$res=mysql_query($sql);
$jason=array();
$k = 1;
while($row=mysql_fetch_array($res,MYSQL_ASSOC)){
$row['rank'] = $k;
array_push($jason, $row);
$k++;
}
echo toJSON($jason);
然后在前台使用JS解析PHP传递过来的字符串,提取数据,显示在页面上。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫