从predis读出来的键和值排序后内容不对
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从predis读出来的键和值排序后内容不对,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3593字,纯文字阅读大概需要6分钟。
内容图文
![从predis读出来的键和值排序后内容不对](/upload/InfoBanner/zyjiaocheng/195/a5e5425d47be43039cd676b1a131e708.jpg)
predis 排序
我同事写的代码,他用predis存储我们的查询条件和查询结果,中途有更改我们的查询条件和查询结果,但是读出的值不是我想要的顺序,所有我就对结果进行了排序,排序后顺序是对了,但是在数组结尾处值就不对了。我不知道问题出在什么地方。假如排序前结果是:
[471456_11_0_SGD_2013-11-26_2_2013-11-26] => Array ( [Error] => Unavailable [packagePr] => 0 [sequenceNo] => 11 [checkIn] => 2013-11-26 [checkOut] => 2013-11-26 [nights] => 0 [hotelName] => Own Arrangement )
[471444_12_2_SGD_2013-11-26_2_2013-11-28] => Array ( [sequenceNo] => 12 [Error] => Unavailable [packagePr] => 0 [checkIn] => 2013-11-26 [checkOut] => 2013-11-28 [nights] => 2 [hotelName] => Own Arrangement )
[471452_13_0_SGD_2013-11-28_2_2013-11-28] => Array ( [Error] => Unavailable [packagePr] => 0 [sequenceNo] => 13 [checkIn] => 2013-11-28 [checkOut] => 2013-11-28 [nights] => 0 [hotelName] => Own Arrangement )
[471442_14_1_SGD_2013-11-28_2_2013-11-29] => Array ( [sequenceNo] => 14 [Error] => Unavailable [packagePr] => 0 [checkIn] => 2013-11-28 [checkOut] => 2013-11-29 [nights] => 2 [hotelName] => Own Arrangement )
排序后结果可能是:[471456_11_0_SGD_2013-11-26_2_2013-11-26] => Array ( [Error] => Unavailable [packagePr] => 0 [sequenceNo] => 11 [checkIn] => 2013-11-26 [checkOut] => 2013-11-26 [nights] => 0 [hotelName] => Own Arrangement )
[471444_12_2_SGD_2013-11-26_2_2013-11-28] => Array ( [sequenceNo] => 12 [Error] => Unavailable [packagePr] => 0 [checkIn] => 2013-11-26 [checkOut] => 2013-11-28 [nights] => 2 [hotelName] => Own Arrangement )
[471452_13_0_SGD_2013-11-28_2_2013-11-28] => Array ( [Error] => Unavailable [packagePr] => 0 [sequenceNo] => 13 [checkIn] => 2013-11-28 [checkOut] => 2013-11-28 [nights] => 0 [hotelName] => Own Arrangement )
[471442_14_1_SGD_2013-11-28_2_2013-11-29] => Array ( [sequenceNo] => 14 [hotelName] => Flaminius [starRating] => 3 [hotelImage] => https://services.abc.com/images/hotels/d5da716c-b32c-4222-839d-3bb3a134007e.jpeg [hotelId] => 4157663 [localLocationId] => 0 [locationId] => 471442 [nights] => 1 [checkIn] => 2013-11-28 [checkOut] => 2013-11-29 [currencyCode] => SGD [supplierId] => 0 [packageId] => 92b6f8ce-b916-4653-aced-069c579493a3 [packagePr] => 100.09 [roomDetail] => Array ( [Room] => Array ( [AdultsCount] => 2 [Availability] => Available [Id] => 1adc296d-9fa9-4eb5-aa67-638f364bdeb6 [RoomBasis] => Bed and Breakfast BB [RoomClass] => Standard [RoomType] => Double ) ) [sessionId] => /88/1095/D20130909T042820/e72c9d41ec034a3a9daf1a57da9172ff )
我在想我排序也不可能把数组的值给改了,可是我只有删除了排序的代码出来出来的结果就是对的,一加上数组的值就不对。
我们设置查询条件和结果,更新查询条件和结果都是用的下面的函数:
public function setMkeyValue($args = array()){
if(!empty($args) && isset($args['setValue'])){
if(isset($args['keyprefix']) && $args['keyprefix'] != ''){
$this->setKeyPrefix($args['keyprefix']);
$this->newClientConnection();
}
$this->CLIENT->mset($args['setValue']);
}
}
public function setKeyPrefix($key_prefix = ''){
if($key_prefix != ''){
$this->KEY_PREFIX = $key_prefix;
}
}
回复讨论(解决方案)
你的数据数一个二维数组
你是如何排序的
你的数据数一个二维数组
你是如何排序的
我读sequence no,根据sequence no来放置:
$ordered_hotelSelection=Array();
for($i=1; $i<=count($hotelSelection); $i++){
foreach($hotelSelection as $key => $hotelInfo){
if(intval($hotelInfo['sequenceNo'])==$i){
$ordered_hotelSelection[$key]=$hotelSelection[$key];
}
}
}
return $ordered_hotelSelection;
内容总结
以上是互联网集市为您收集整理的从predis读出来的键和值排序后内容不对全部内容,希望文章能够帮你解决从predis读出来的键和值排序后内容不对所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。