PHP数组递归排序达成形式躬体力行

正文以实例情势汇报了PHP达成数组递归转义的措施,分享给我们供我们参谋之用。具体方法如下:

本文实例陈述了PHP数组递归排序落成格局。分享给我们供我们参照他事他说加以考察,具体如下:

主要作用代码如下:

/**
 * 递归根据特定key对数组排序
 * @param $data
 * @param string $orderKey
 * @param string $sonKey
 * @param int $orderBy
 * @return mixed
 */
function recursion_orderby($data, $orderKey = 'order', $sonKey = 'children', $orderBy = SORT_ASC)
{
  $func = function ($value) use ($sonKey, $orderKey, $orderBy) {
    if (isset($value[$sonKey]) && is_array($value[$sonKey])) {
      $value[$sonKey] = recursion_orderby($value[$sonKey], $orderKey, $sonKey, $orderBy);
    }
    return $value;
  };
  return array_orderby(array_map($func, $data), $orderKey, $orderBy);
}
$a = [
  [
    'order' => 0,
  ],
  [
    'order' => -1,
    'children' => [
      [
        'order' => 0,
      ],
      [
        'order' => -2,
        'children' => [
          ['order' => 0],
          ['order' => -1],
          ['order' => 1],
        ],
      ],
    ],
  ],
  [
    'order' => 2,
  ],
];
var_dump(recursion_orderby($a));
/**
 * 输出:
array(3) {
 [0] =>
 array(2) {
  'order' =>
  int(-1)
  'children' =>
  array(2) {
   [0] =>
   array(2) {
    'order' =>
    int(-2)
    'children' =>
    array(3) {
     [0] =>
     array(1) {
      'order' =>
      int(-1)
     }
     [1] =>
     array(1) {
      'order' =>
      int(0)
     }
     [2] =>
     array(1) {
      'order' =>
      int(1)
     }
    }
   }
   [1] =>
   array(1) {
    'order' =>
    int(0)
   }
  }
 }
 [1] =>
 array(1) {
  'order' =>
  int(0)
 }
 [2] =>
 array(1) {
  'order' =>
  int(2)
 }
}
*/
$arr = array('a"aa',array("c'd",array('e"f')));
function changes($arr){
 foreach($arr as $k=>$v){
 if (is_string($v)){
  $arr[$k] = addslashes($v);
 }else if (is_array($v)) { //若为数组,则再转义.
  $arr[$k] = changes($v);
 }
 }
 return $arr;
}
print_r(changes($arr));

注:这里的array_orderby艺术在最近一篇《php自定义二维数组排序函数array_orderby用法》中有详细介绍

意在本文所述对我们的PHP程序设计具备支持。

PS:这里再为咱们推荐一款有关排序的自己要作为圭臬服从规则工具供我们参照他事他说加以考察:

你可能感兴趣的篇章:

在线动画演示插入/选拔/冒泡/归并/Hill/急忙排序算法进程工具: http://tools.jb51.net/aideddesign/paixu_ys

更加多关于PHP相关内容感兴趣的读者可查看本站专项论题:《PHP数据结构与算法教程》、《php程序设计算法总计》、《php字符串(string)用法总计》、《PHP数组(Array)操作本领大全》、《PHP常用遍历算法与本事总括》及《PHP数学生运动算手艺总计

但愿本文所述对大家PHP程序设计有着协理。

您大概感兴趣的作品:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图