javascript 获取php数组

本文详细介绍了如何在PHP端使用自定义函数处理含有中文字符的数组,将其转换为JSON格式,并在JavaScript端通过$.post请求接收并解析数据。重点在于展示一种在跨语言环境下有效处理中文数据的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如: 
PHP:
$qnlist = $this->qn_db->select();
  echo json_cn($qnlist)


javascript:
 $.post(url,{},function(data){
   alert(data[0].name)
 },'json');


php端用到的函数,主要是对含有中文的数组进行json转换:

  /**
  * 使用特定function对数组中所有元素做处理
  * @param string &$array 要处理的字符串
  * @param string $function 要执行的函数
  * @param boolean $apply_to_keys 是否也应用到key上
  * @return 处理后的数组
  **/
   function arrayRecursive(&$array, $function, $apply_to_keys = false){
   static $recursive_counter = 0;
   if (++$recursive_counter > 1000) {
    die('possible deep recursion attack');
   }
   foreach ($array as $key => $value) {
    if (is_array($value)) {
     arrayRecursive($array[$key], $function, $apply_to_keys);
    } else {
     $array[$key] = $function($value);
    }
 
    if ($apply_to_keys && is_string($key)) {
     $new_key = $function($key);
     if ($new_key != $key) {
      $array[$new_key] = $array[$key];
      unset($array[$key]);
     }
    }
   }
   $recursive_counter--;
  }
 
  /**
   * 对包含有中文的数组进行json转换
   * */
  function json_cn($array){
   arrayRecursive($array, 'urlencode', true);
   return urldecode(json_encode($array));
  }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值