zoukankan      html  css  js  c++  java
  • 将查询出的数组存入redis php

    我们从数据库查询出来的数据一般为数组的形式,而redis是不支持存入数组的。

    通常我们首先想到的就是将数组转化为json数据,再将json存入redis,之后取出时再将json转化为php数组。

    但将查出的数组数据是不能直接用json_encode()的,因为这样会将一组正常的json最终再通过json_decode()转化,会得到一个包含对象的数组,不是原本的数组,而这样含有对象的数组是没法直接被遍历输出的。

    解决方法:给json_encode()、json_decode函数传入第二个参数true,即:json_encode($json,true);json_decode($json,true);默认是false,即对象;true是数组。

    这样得到的就都是数组了。

    数据结构:

    要存入的数组:

    E:ProjectlibModelsComplaint.php:476:
    array (size=69)
      'id' => int 103863
      'channel' => string 'ios:appstore' (length=12)
      'version_code' => string '30400' (length=5)
      'source_type' => string 'client' (length=6)
      'os' => string 'ios' (length=3)
      'app' => string 'sdsgzxz' (length=3)
      'inner_app' => string 'dsvvs' (length=3)
      'fund_source_name' => string '理财' (length=12)
      'fund_loan_order_info' => 
        array (size=1)
          0 => 
            array (size=12)
              'id' => int 262
              'order_number' => string '213' (length=23)
              'loan_apply_code' => string '1231' (length=19)
              'status_history' => string '0,5,6,7' (length=7)
              'status' => string '8' (length=1)
              'failed_reason' => null
              'funding_time' => null'fund_order_number' => string '12312' (length=23)
              'fund_order_status' => string '8' (length=1)

    第二个参数默认为false的数据结构:

    E:ProjectlibModelsComplaint.php:476:
    object(stdClass)[17]
      public 'id' => int 103863public 'os' => string 'ios' (length=3)
      public 'app' => string 'dasa' (length=3)
      public 'inner_app' => string 'asda' (length=3)
      public 'fund_source_name' => string '理财' (length=12)
      public 'fund_loan_order_info' => 
        array (size=1)
          0 => 
            object(stdClass)[18]
              public 'id' => int 262
              public 'order_number' => string '123' (length=23)
              public 'loan_apply_code' => string '3123' (length=19)
              public 'status_history' => string '0,5,6,7' (length=7)

    当然这是一个栗子,所以数据是对不上的,目的是看看什么对象。

    第二个参数是true的情况,返回的就是正常的数组了,就不贴上了。

  • 相关阅读:
    iOS多线程与网络开发之NSURLCache
    NEFU 117-素数个数的位数(素数定理)
    UISegmentedControl 的使用
    C++使用ADO存取图片
    王立平-- Swift
    浮生猫绘——落入平一的精灵
    BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
    POJ2774 Long Long Message [后缀数组]
    BZOJ 2119: 股市的预测 [后缀数组 ST表]
    BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 [后缀数组]
  • 原文地址:https://www.cnblogs.com/two-bees/p/11170295.html
Copyright © 2011-2022 走看看