<?php
//一维数组
$test1 = array("a"=>"苹果","b"=>"香蕉","c"=>"芒果"); //二位数组
$test2[0] = array("id"=>"17","name"=>"汽车");
$test2[99] = array("id"=>"18","name"=>"飞机");
$test2[2] = array("id"=>"19","name"=>"高铁");
$test2[3] = array("id"=>"20","name"=>"高铁"); //三维数组
$test3 = array("aaa"=>$test1,"bbb"=>$test2); /*
arr:数组
isvalues:是否将数组key值重新排列
*/ //数组倒叙
function array_rsort($arr,$isvalues=false)
{
if(is_array($arr)){
$flag = false;
//一维数组
if(count($arr) == count($arr,1)){
$flag = true;
$i = 0;
//转换成二维数组
foreach($arr AS $key=>$value){
$a[$i]["okey"] = $key;
$a[$i]["value"] = $value;
$i++;
}
$arr = $a;
}
//多维数组
else
{
//添加临时key值
foreach($arr AS $key=>$value){
$value["okey"] = $key;
$array[] = $value;
}
$arr = $array;
} //倒叙并还原key值
$count = count($arr)-1;
for($i=0;$i<count($arr);$i++){
$b[$arr[$count]["okey"]] = $arr[$count];
$count--;
} //重构一维数组
if($flag == true){
foreach($b AS $key=>$value){
if($isvalues){
$c[] = $value["value"];
}else{
$c[$value["okey"]] = $value["value"];
}
}
}
//多维数组去除临时key值
else
{
foreach($b AS $key=>$value) {
unset($value["okey"]);
if($isvalues){
$c[] = $value;
}else{
$c[$key] = $value;
}
}
}
return $c;
}
} var_dump(array_rsort($test1));
var_dump(array_rsort($test1,true));
echo "----------------------------------------";
var_dump(array_rsort($test2));
var_dump(array_rsort($test2,true));
echo "----------------------------------------";
var_dump(array_rsort($test3));
var_dump(array_rsort($test3,true));
?>

  

最新文章

  1. [Scala] Scala基础知识
  2. [MongoDB]安装MongoDB
  3. android 评分条 RatingBar 使用及自定义
  4. SolrCloud的官方配置方式
  5. 分布式架构高可用架构篇_07_MySQL主从复制的配置(CentOS-6.7+MySQL-5.6)
  6. 理解C# Lazy&lt;T&gt;
  7. 『奇葩问题集锦』npm install 报错 node-pre-gyp ERR! node-pre-gyp -v v0.6.25
  8. check、continue、exit的区别
  9. inputtype
  10. 关于PHP的工作流引擎
  11. PHP ORM笔记
  12. Vasya and Basketball CodeForces - 493C
  13. SpringBoot的HelloWorld 应用及解释
  14. 开源视频平台:Kaltura
  15. day_4.23 简易计算器
  16. Linux中断 - softirq
  17. Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 标签 《转载》
  18. CF821 C. Okabe and Boxes 栈模拟
  19. Python之路【第七篇】:常用模块
  20. linux kill 关闭进程命令

热门文章

  1. Windows下安装logstash
  2. rtmp聊天相关归总
  3. MySQL Root密码丢失解决方法总结
  4. Linux实战教学笔记26:http协议原理
  5. java算法 第七届 蓝桥杯B组(题+答案) 8.四平方和
  6. Android中自定义ListView实现上拉加载更多和下拉刷新
  7. 01 lucene基础 北风网项目培训 Lucene实践课程 系统架构
  8. 【POJ1509】Glass Beads 【后缀自动机】
  9. linux系统中的进程
  10. spring4-5-事务管理