当前位置: 首页 > 工具软件 > phpredis > 使用案例 >

php redis 存入数组,php redis 多维数组操作

锺离嘉容
2023-12-01

PHP数组实际上是哈希表,Redis似乎不支持二维数组,但是可以使用hmset把PHP数组保存为hash类型的数据,使用hmget读取一维的键没问题,读取二维的多维的键就返回false。

$hset = array(  'WUST'=>'WUHAN SI',  'birth'=>1031,  'marray'=>array(   'apple'=>'苹果',   'orange'=>'org',  ), );   dump($redis->hmset('tuntun',$hset));//将数组保存为hash类型 dump($redis->hmget('tuntun',array('birth')));//取出一位数组birth的值,ok dump($redis->hmget('tuntun',array('marry','apple')));//取出二维数组marray的apple的值,返回false

就算使用hgetall方法:

dump($redis->hgetall('hset_tuntun')); 结果如下: array(3) {   ["WUST"] => string(8) "WUHAN SI"   ["birth"] => string(4) "1031"   ["marray"] => string(5) "Array" }

二维数组无法显示。所以redis不支持PHP的多维数组的存取。

解决办法是:如有要用redis存多维数组,可以把数组json_encode转换成json各式数据,以string类型的方式存储。读取的时候再json_decode回来。

https://www.cnblogs.com/zangrunqiang/p/5927154.html

 类似资料: