zoukankan      html  css  js  c++  java
  • php讲转义符号与json文件的趣事情

    php中屡试不爽的数组和json

    • json_encode与json_decode
    • urlencode与urldecode
    • addslashes与stripslashes
    • addcslashes与stripcslashes
    • 以上这些请自行了解

    附上两组操作实例

    1. 实例一,借助urlencode函数

      function arrayRecursive(&$array, $function, $apply_to_keys_also = 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_also);
              } else {
                  $array[$key] = $function($value);
              }
      
              if ($apply_to_keys_also && is_string($key)) {
                  $new_key = $function($key);
                  if ($new_key != $key) {
                      $array[$new_key] = $array[$key];
                      unset($array[$key]);
                  }
              }
          }
          $recursive_counter--;
      }
      
      function my_json($array) {
          arrayRecursive($array, 'urlencode', true);
          $json = json_encode($array);
          return urldecode($json);
      }
      $arr = [
          'a'  => 123,
          'b'  => 456,
          'http://www.jjxhp.com/abc/sasa.php' => 'tstst你好',
          'http://www.baidu.com/' => '我们都是好人吧',
          'rew你好' => 'dsdsqwq'
      ];
      
      $str = my_json($arr);
      
      file_put_contents(__DIR__.'/json_str.txt', $str);
      
      
    2. 实例二,借助 json_encode与stripslashes

      $new_str = json_encode($arr, JSON_UNESCAPED_UNICODE);
      file_put_contents(__DIR__.'/new_json_str.txt', $new_str);
      $new_str1 = stripslashes($new_str);
      file_put_contents(__DIR__.'/new_json_str1.txt', $new_str1);
      
      

    附言

    • htmlentities与htmlspecialchars也脑补吧,自己感觉真的很好用,嘻嘻!!
  • 相关阅读:
    读取数据变JSON传值!
    YII2.0多条件查询升级版
    JS跳转页面方法
    yii的简单片段缓存
    我读过的最好的epoll讲解--转自”知乎“
    I/O多路复用详解
    ”open-close"prinple (OCP)
    获取本机的IPv4或者v6地址
    .Net 下未捕获异常的处理
    TCP断开连接的过程
  • 原文地址:https://www.cnblogs.com/jjxhp/p/11735776.html
Copyright © 2011-2022 走看看