公司业务需求,对接MySQL和MongoDB合并使用,但是前台对数据格斯要求是按照一种格式取数据,MySQL关系型数据很简单就拼接成了,但是mongo是非关系型,获取的数据都是对象json,想到sort格式化,但是格式化后的数据排序打乱了, 后台运营员要求按照某个方式排序,所以还需要对格式化的数据进行二次排序。
0. array_multisort($num,SORT_DESC,SORT_NUMERIC);
代码的大致意思就是取出创建时间,以创建时间为基准,对sort后的数据二次排序
下面是PHP经常用到的数据
1、将字符串分割成数组:$array=explode(separator,$string):
separator:分隔符,
$string:分割的字符串;
2、将数组组合成字符串:$string=implode(glue,$array):
glue:胶合符,
$array:数组;
3、统计数组的长度:count():
count函数有两个参数:
0(或COUNT_NORMAL)为默认,不检测多维数组(数组中的数组);
1(或COUNT_RECURSIVE)为检测多维数组
$arr=array(
0=>array('title' => '苹果', 'viewnum' => 青的, 'content' => 'pingguo'),
1=>array('title' => '柚子', 'viewnum' => 红心, 'content' => 'youzi')
);
echo '不统计多维数组:'.count($arr,0);//count($arr,COUNT_NORMAL)
echo "
";
echo '统计多维数组:'.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>
4、合并两个数组:array_merge():
$a[];
$b[];
$c[] = array_merge( $a , $b );
5、数组排序:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
array_multisort() 函数对多个数组或多维数组进行排序。
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
print_r($num);
?>
6、数组与json格式的转换:
json_encode():将数组转换为json对象格式,追加参数:JSON_UNESCAPED_UNICODE对中文进行编码;
json_decode():将json对象转换为php对象格式;
json_decode( $obj , true ):将json对象转换为数组;
$bad_json = "{ 'bar': 'baz' }";
$bad_json = '{ bar: "baz" }';
$bad_json = '{ "bar": "baz