午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > PHP實現的操作數組類庫定義與用法示例

PHP實現的操作數組類庫定義與用法示例

熱門標簽:開發地圖標注類網站 外呼系統能給企業帶來哪些好處 咸寧銷售電銷機器人系統 余姚電話機器人 400電話蘭州申請請 百度地圖怎樣標注圖標 電銷機器人問門薩維品牌my 廣東廣州在怎么申請400電話 百度地圖標注偏差

本文實例講述了PHP實現的操作數組類庫定義與用法。分享給大家供大家參考,具體如下:

類庫(完整類庫):

?php
class ArrayHelper{
  /**
   * 從數組中刪除空白的元素(包括只有空白字符的元素)
   *
   * 用法:
   * @code php
   * $arr = array('', 'test', '  ');
   * ArrayHelper::removeEmpty($arr);
   *
   * dump($arr);
   *  // 輸出結果中將只有 'test'
   * @endcode
   *
   * @param array $arr 要處理的數組
   * @param boolean $trim 是否對數組元素調用 trim 函數
   */
  static function removeEmpty( $arr, $trim = TRUE)
  {
    foreach ($arr as $key => $value)
    {
      if (is_array($value))
      {
        self::removeEmpty($arr[$key]);
      }
      else
      {
        $value = trim($value);
        if ($value == '')
        {
          unset($arr[$key]);
        }
        elseif ($trim)
        {
          $arr[$key] = $value;
        }
      }
    }
  }
  /**
   * 從一個二維數組中返回指定鍵的所有值
   *
   * 用法:
   * @code php
   * $rows = array(
   *   array('id' => 1, 'value' => '1-1'),
   *   array('id' => 2, 'value' => '2-1'),
   * );
   * $values = ArrayHelper::getCols($rows, 'value');
   *
   * dump($values);
   *  // 輸出結果為
   *  // array(
   *  //  '1-1',
   *  //  '2-1',
   *  // )
   * @endcode
   *
   * @param array $arr 數據源
   * @param string $col 要查詢的鍵
   *
   * @return array 包含指定鍵所有值的數組
   */
  static function getCols($arr, $col)
  {
    $ret = array();
    foreach ($arr as $row)
    {
      if (isset($row[$col])) {
        $ret[] = $row[$col];
      }
    }
    return $ret;
  }
  /**
   * 將一個二維數組轉換為 HashMap,并返回結果
   *
   * 用法1:
   * @code php
   * $rows = array(
   *   array('id' => 1, 'value' => '1-1'),
   *   array('id' => 2, 'value' => '2-1'),
   * );
   * $hashmap = ArrayHelper::toHashmap($rows, 'id', 'value');
   *
   * dump($hashmap);
   *  // 輸出結果為
   *  // array(
   *  //  1 => '1-1',
   *  //  2 => '2-1',
   *  // )
   * @endcode
   *
   * 如果省略 $valueField 參數,則轉換結果每一項為包含該項所有數據的數組。
   *
   * 用法2:
   * @code php
   * $rows = array(
   *   array('id' => 1, 'value' => '1-1'),
   *   array('id' => 2, 'value' => '2-1'),
   * );
   * $hashmap = ArrayHelper::toHashmap($rows, 'id');
   *
   * dump($hashmap);
   *  // 輸出結果為
   *  // array(
   *  //  1 => array('id' => 1, 'value' => '1-1'),
   *  //  2 => array('id' => 2, 'value' => '2-1'),
   *  // )
   * @endcode
   *
   * @param array $arr 數據源
   * @param string $keyField 按照什么鍵的值進行轉換
   * @param string $valueField 對應的鍵值
   *
   * @return array 轉換后的 HashMap 樣式數組
   */
  static function toHashmap($arr, $keyField, $valueField = NULL)
  {
    $ret = array();
    if ($valueField)
    {
      foreach ($arr as $row)
      {
        $ret[$row[$keyField]] = $row[$valueField];
      }
    }
    else
    {
      foreach ($arr as $row)
      {
        $ret[$row[$keyField]] = $row;
      }
    }
    return $ret;
  }
  /**
   * 將一個二維數組按照指定字段的值分組
   *
   * 用法:
   * @endcode
   *
   * @param array $arr 數據源
   * @param string $keyField 作為分組依據的鍵名
   *
   * @return array 分組后的結果
   */
  static function groupBy($arr, $keyField)
  {
    $ret = array();
    foreach ($arr as $row)
    {
      $key = $row[$keyField];
      $ret[$key][] = $row;
    }
    return $ret;
  }
  /**
   * 將一個平面的二維數組按照指定的字段轉換為樹狀結構
   *
   *
   * 如果要獲得任意節點為根的子樹,可以使用 $refs 參數:
   * @code php
   * $refs = null;
   * $tree = ArrayHelper::tree($rows, 'id', 'parent', 'nodes', $refs);
   *
   * // 輸出 id 為 3 的節點及其所有子節點
   * $id = 3;
   * dump($refs[$id]);
   * @endcode
   *
   * @param array $arr 數據源
   * @param string $keyNodeId 節點ID字段名
   * @param string $keyParentId 節點父ID字段名
   * @param string $keyChildrens 保存子節點的字段名
   * @param boolean $refs 是否在返回結果中包含節點引用
   *
   * return array 樹形結構的數組
   */
  static function toTree($arr, $keyNodeId, $keyParentId = 'parent_id', $keyChildrens = 'childrens',  $refs = NULL)
  {
    $refs = array();
    foreach ($arr as $offset => $row)
    {
      $arr[$offset][$keyChildrens] = array();
      $refs[$row[$keyNodeId]] = $arr[$offset];
    }
    $tree = array();
    foreach ($arr as $offset => $row)
    {
      $parentId = $row[$keyParentId];
      if ($parentId)
      {
        if (!isset($refs[$parentId]))
        {
          $tree[] = $arr[$offset];
          continue;
        }
        $parent = $refs[$parentId];
        $parent[$keyChildrens][] = $arr[$offset];
      }
      else
      {
        $tree[] = $arr[$offset];
      }
    }
    return $tree;
  }
  /**
   * 將樹形數組展開為平面的數組
   *
   * 這個方法是 tree() 方法的逆向操作。
   *
   * @param array $tree 樹形數組
   * @param string $keyChildrens 包含子節點的鍵名
   *
   * @return array 展開后的數組
   */
  static function treeToArray($tree, $keyChildrens = 'childrens')
  {
    $ret = array();
    if (isset($tree[$keyChildrens])  is_array($tree[$keyChildrens]))
    {
      foreach ($tree[$keyChildrens] as $child)
      {
        $ret = array_merge($ret, self::treeToArray($child, $keyChildrens));
      }
      unset($node[$keyChildrens]);
      $ret[] = $tree;
    }
    else
    {
      $ret[] = $tree;
    }
    return $ret;
  }
  /**
   * 根據指定的鍵對數組排序
   *
   * @endcode
   *
   * @param array $array 要排序的數組
   * @param string $keyname 排序的鍵
   * @param int $dir 排序方向
   *
   * @return array 排序后的數組
   */
  static function sortByCol($array, $keyname, $dir = SORT_ASC)
  {
    return self::sortByMultiCols($array, array($keyname => $dir));
  }
  /**
   * 將一個二維數組按照多個列進行排序,類似 SQL 語句中的 ORDER BY
   *
   * 用法:
   * @code php
   * $rows = ArrayHelper::sortByMultiCols($rows, array(
   *   'parent' => SORT_ASC,
   *   'name' => SORT_DESC,
   * ));
   * @endcode
   *
   * @param array $rowset 要排序的數組
   * @param array $args 排序的鍵
   *
   * @return array 排序后的數組
   */
  static function sortByMultiCols($rowset, $args)
  {
    $sortArray = array();
    $sortRule = '';
    foreach ($args as $sortField => $sortDir)
    {
      foreach ($rowset as $offset => $row)
      {
        $sortArray[$sortField][$offset] = $row[$sortField];
      }
      $sortRule .= '$sortArray[\'' . $sortField .\''], ' . $sortDir . ', ';
    }
    if (empty($sortArray) || empty($sortRule)) {
      return $rowset;
    }
    eval('array_multisort(' . $sortRule . '$rowset);');
    return $rowset;
  }
}
?>

用法示例:

從數組中刪除空白的元素(包括只有空白字符的元素)

用法:

$arr = array('', 'test', '  ');
ArrayHelper::removeEmpty($arr);
var_dump($arr);

輸出結果中將只有 'test'

array(1) {
  [1]=>
  string(4) "test"
}

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序算法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》及《PHP常用遍歷算法與技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP遍歷數組的方法匯總
  • PHP 數組遍歷方法大全(foreach,list,each)
  • PHP 數組遍歷foreach語法結構及實例
  • PHP中多維數組的foreach遍歷示例
  • php實現遍歷多維數組的方法
  • PHP中使用foreach()遍歷二維數組的簡單實例
  • PHP遍歷數組的三種方法及效率對比分析
  • PHP數組操作類實例
  • PHP數組生成XML格式數據的封裝類實例
  • php數組遍歷類與用法示例

標簽:鷹潭 衡陽 十堰 巴彥淖爾 麗江 臨沂 重慶 銅陵

巨人網絡通訊聲明:本文標題《PHP實現的操作數組類庫定義與用法示例》,本文關鍵詞  PHP,實現,的,操作,數組,類庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現的操作數組類庫定義與用法示例》相關的同類信息!
  • 本頁收集關于PHP實現的操作數組類庫定義與用法示例的相關信息資訊供網民參考!
  • 推薦文章
    丝袜美腿亚洲综合| 九九视频精品免费| 日韩一区免费观看| 日韩大陆毛片av| 久久亚洲一区二区三区四区| 懂色av一区二区三区四区| www.亚洲成人网| 国产激情一区二区三区在线观看| 亚洲人成五月天| 亚洲日本在线视频观看| 久久精选视频| 中文字幕一区二区三区波野结| 折磨小男生性器羞耻的故事| 蜜臀av午夜一区二区三区| 精品久久久三级| 国产日韩精品一区二区| 97国产在线视频| 欧美tickling网站挠脚心| 色综合天天综合在线视频| 不卡欧美aaaaa| 欧美96一区二区免费视频| 99精品在线免费视频| 在线观看三级网站| 日韩中字在线观看| 日韩国产一级片| 蜜桃免费一区二区三区| 精品一区二区日本| 高清亚洲成在人网站天堂| 亚洲午夜av电影| 亚洲欧美激情在线视频| 亚洲爱爱爱爱爱| 国产视频精品久久久| 日韩精品亚洲元码| 亚洲美女自拍视频| 久久九九精品99国产精品| 中文字幕国产精品| 欧美激情在线一区| 国产成人精品优优av| 91久久久一线二线三线品牌| 久久久久久欧美精品色一二三四| 成人在线中文字幕| 欧美精品尤物在线| 国产精品日本一区二区| 日韩国产欧美精品| 国产精品无码人妻一区二区在线| 日本久久精品一区二区| 亚洲视频第二页| 99自拍偷拍视频| 亚洲av中文无码乱人伦在线视色| 精品久久久久成人码免费动漫| 日韩av二区在线播放| 久久精品男人的天堂| 一区视频在线播放| 日韩欧美精品在线| 欧美另类精品xxxx孕妇| 97人人模人人爽人人喊38tv| 国产精品免费一区二区三区在线观看| 国产精品免费区二区三区观看| av资源站久久亚洲| 亚洲人成网站在线播放2019| 中文字幕66页| 久久精品无码av| 国产乱码精品一区二区三区av | 亚洲欧美黄色片| av不卡在线播放| 欧美天堂一区二区三区| 久久精品国产亚洲AV无码男同| 欧美精品欧美极品欧美激情| 在线免费观看中文字幕| 中文字幕日本不卡| 欧美成人黑人xx视频免费观看| 国产精品日日摸夜夜添夜夜av| 国产又猛又黄的视频| 2014亚洲片线观看视频免费| 日韩三级影视基地| 人人妻人人添人人爽欧美一区| 日韩精品一区三区| 国产视频福利一区| 日本精品久久久久中文字幕| 日韩大片免费在线观看| 亚洲综合视频网| 国产成人精品在线观看| av鲁丝一区鲁丝二区鲁丝三区| 色窝窝无码一区二区三区成人网站| 91精品福利视频| 国产精品入口尤物| 苍井空张开腿实干12次| 白白色亚洲国产精品| 日本高清一区| 日韩不卡av在线| 色一情一乱一区二区三区| 日韩一区二区免费在线电影| 国产一级大片免费看| 国产一级一片免费播放放a| 亚洲美女淫视频| 国产精品亚洲视频在线观看| 四虎影视一区二区| 日韩一区二区在线播放| 久久网站免费视频| 日本aⅴ精品一区二区三区 | 亚洲永久一区二区三区在线| 波多野结衣毛片| 欧美男人的天堂一二区| 精品伦理一区二区三区| 国产一区二区三区四区视频 | 在线中文字日产幕| 97aⅴ精品视频一二三区| 国产精品视频最多的网站| 看黄色录像一级片| 亚洲影院在线观看| 日韩电影免费观看在| 精品乱子伦一区二区| 精品国产自在精品国产浪潮 | 婷婷五月综合久久中文字幕| 日韩精品亚洲视频| 亚洲男人在线天堂| 欧美三级日韩在线| 粉色视频免费看| 亚洲免费观看在线观看| 男人添女人下部视频免费| 中文字幕第三页| 欧美日韩亚洲丝袜制服| 欧美中日韩在线| 亚洲av无码乱码国产精品| 91久久国产最好的精华液| 久久精彩视频| 午夜福利一区二区三区| 色综合导航网站| 亚洲国产天堂av| 在线精品视频免费观看| 亚洲精品乱码久久久久久蜜桃91| 色偷偷www8888| 精品欧美一区二区在线观看 | 久久蜜桃av一区精品变态类天堂| 国产玖玖精品视频| 在线播放亚洲精品| 日韩中文字幕在线| 天天色天天综合网| 亚洲另类一区二区| 男女高潮又爽又黄又无遮挡| 麻豆精品一区二区三区| 成人免费福利在线| 精品国产一区二区三区四| 国产亚洲欧洲在线| 在线不卡av电影| 欧美大片一区二区三区| 日韩影视一区二区三区| 欧美电影免费观看完整版| 中文字幕在线观看的网站| 一区二区三区精品在线| 韩国视频一区二区三区| 亚洲午夜成aⅴ人片| 特级西西444| 综合激情成人伊人| 久久99国产精品| 成人激情文学综合网| 国产精品久久波多野结衣| 五月天婷婷在线观看| 国产精品网站大全| 美国毛片一区二区| 桥本有菜av在线| 亚洲欧美日韩国产综合在线| www.久久av.com| 日韩精品一区二| 国产精品精品软件男同| 欧美日韩国产另类不卡| 中文字幕在线视频一区二区| 欧美精品久久99久久在免费线| 免费无码一区二区三区| 中文字幕在线成人| 欧美性猛交xxxx乱大交hd| 久久久久久999| 成人免费一级视频| 欧美中文字幕视频在线观看| 久久aⅴ国产欧美74aaa| 香港三级日本三级a视频| 一区二区高清在线| 岛国大片在线免费观看| 亚洲精品午夜精品| 国产成人a人亚洲精品无码| 国产v综合v亚洲欧美久久| 久久亚洲精华国产精华液 | 欧美日韩精品一区二区三区四区 | 欧美色视频一区二区三区在线观看| 欧美精品一区二区三区在线播放| 九九热最新视频| 久久青青草原| 欧美日韩中文精品| 国产人妖在线播放| 国产妇女馒头高清泬20p多| 精品视频久久久久久| 久久久久在线视频| 欧洲金发美女大战黑人| 日韩精品日韩在线观看| 精品欧美一区二区精品少妇| 国产aaa免费视频| 国产亚洲精品综合一区91| 国产精品影音先锋| 波多野结衣 在线| 99视频日韩| 欧美午夜激情在线| 午夜精品久久久久久久第一页按摩 | 久久精品国产综合精品| 免费在线观看不卡| 日韩视频免费播放| 国产xxx69麻豆国语对白| 在线观看亚洲a| 日本欧美在线看| 日韩一级片在线免费观看| 综合色婷婷一区二区亚洲欧美国产| 亚洲欧美日韩图片| 亚洲欧洲无码一区二区三区| 亚洲天堂久久久久| 超碰caoprom| 精品视频导航| 欧美精品中文字幕一区| 欧美这里有精品| 久久综合色播五月| 岛国av中文字幕| 国产 xxxx| 秋霞无码一区二区| 91久久偷偷做嫩草影院| 亚洲最新av在线| 欧洲人成人精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 国产激情视频在线播放| 日韩综合第一页| 国产免费裸体视频| 琪琪亚洲精品午夜在线| 欧美日韩成人综合在线一区二区| 久久久久久毛片| 一级黄色大毛片| 少妇视频在线播放| 亚洲欧美激情一区二区三区| 亚洲欧美日韩不卡| 97久久夜色精品国产九色 | 亚洲6080在线| 久久网站最新地址| 亚洲欧美一区二区三| 日韩不卡视频在线| 亚洲一区二区三区四区五区六区| 男人揉女人奶房视频60分| 古典武侠综合av第一页| 日韩美女主播视频| 午夜精品一区二区三区av| 亚洲美女在线看| 欧美精品三级日韩久久| 偷偷要91色婷婷| 亚洲视频一区二区在线观看| 久久精品99国产国产精| 免费看精品久久片| 奇米精品一区二区三区四区 | 欧美亚洲另类视频| 久久久午夜视频| 中文字幕精品一区二区精品| 一区二区三区四区精品| 亚洲欧洲一区二区三区久久| 亚洲第一精品福利| 日韩大片在线观看视频| 狠狠干狠狠久久| 亚洲乱码中文字幕综合| 综合久久一区二区三区| 99精品视频在线观看免费| 91免费在线看| 波多野结衣亚洲一区| 91在线视频播放| 99re在线视频这里只有精品| 国产69精品一区二区亚洲孕妇| 国产精品中文字幕日韩精品 | 欧美国产在线视频| 日韩免费av在线| 国产三级精品在线不卡| 亚洲成人精品电影在线观看| 激情图片qvod| 久久精品免费一区二区| 久久发布国产伦子伦精品| 天天碰免费视频| 四虎国产精品成人免费入口| www.av免费| 日本一区二区免费电影| 超碰免费在线97| 99精品欧美一区二区三区小说 | 久久久久久九九九| 国产美女精品久久久| 国产高清自拍一区| 少妇人妻无码专区视频| 欧美一级片在线免费观看| 日本不卡一区视频| 中文字幕自拍偷拍| 天天干,夜夜爽| 中文字幕一区二区三区精华液| 欧美图片一区二区三区| 欧美理论电影在线播放| 欧美一区二区三区四区夜夜大片 | 国产精品无码网站| 91丨九色丨丰满| 久久一日本道色综合久久| 亚洲免费av在线| 一区二区福利视频| 欧美激情一二三区| 亚洲成人综合网站| 亚洲国产精品女人久久久| 久久影视免费观看 | www.国产三级| 久久综合丝袜日本网| 在线91免费看| 57pao精品| 日本xxxxxxxxxx75| 91成人破解版| 久久久久综合| 亚洲国产成人av| 欧美国产精品人人做人人爱| 乱色588欧美| 中国免费黄色片| 亚洲免费不卡视频| 伊人伊成久久人综合网小说| 久久91亚洲精品中文字幕奶水| 91精品黄色| 无码人中文字幕| 9l国产精品久久久久麻豆| 中文亚洲视频在线| 国产3p露脸普通话对白| caoporn国产| 日韩欧美高清在线视频| 99视频日韩| 久久综合色综合| 午夜精品123| 欧美一区二区三区电影在线观看| 麻豆一区二区三区精品视频| 亚洲激情图片qvod| www日韩av| 国产第一页第二页| 亚洲成人在线免费| 懂色中文一区二区三区在线视频| 91av在线免费| 国产精品视频免费| 国产精品久久久久久久久久直播| 久久久综合久久久| 一区二区三区在线观看视频 | 中国极品少妇videossexhd| av电影天堂一区二区在线| 欧美激情视频网址| 午夜不卡久久精品无码免费| 国产精品99久久久久久久女警| 久久精品色欧美aⅴ一区二区| 国产999免费视频| 国产精品视频你懂的| 亚洲va欧美va国产综合久久| 日韩精品久久久久久免费| 亚洲国产中文字幕在线观看| 粉色视频免费看| 国产一区91精品张津瑜| 久久亚洲国产精品| a级在线观看视频| 欧美精品在线一区二区三区| 人妻换人妻仑乱| 色播五月激情综合网| 欧美一级视频在线播放| 精品一区二区免费视频| 麻豆国产va免费精品高清在线| 国产白丝袜美女久久久久| 在线观看xxx| 91成人福利在线| 中文字幕av播放| 国产精品美日韩| 国产自产在线视频一区| 1314成人网| 日本成人在线视频网站| 日韩一区二区三区免费看 | 亚洲人成电影在线观看天堂色| 搡的我好爽在线观看免费视频| 亚洲成av人综合在线观看| 一区二区成人网| 亚洲天堂中文字幕| 欧美成人精品xxx| 欧美综合在线观看视频| 国产99免费视频| 欧美色图在线观看| 欧美国产激情视频| 亚洲va韩国va欧美va精品| 国产成人精品无码播放| 亚洲一区日韩精品中文字幕| 99热一区二区| 天天操天天干天天插| 亚洲欧洲国产伦综合| 久久精品视频5| 亚洲aⅴ日韩av电影在线观看| 精品一区二区成人精品| 亚洲图片在线观看| 亚洲乱码日产精品bd| 日韩av卡一卡二| 亚洲国产日韩欧美在线99| 久久精品欧美一区二区| 国产精品亚洲片夜色在线| 成人91在线观看| 色婷婷在线影院| 丝袜美腿精品国产二区| 欧美一级淫片免费视频魅影视频| 久久天堂国产精品| 一区二区三区免费在线观看| 极品白嫩丰满美女无套| 久久久久在线观看| 国产91精品一区二区麻豆网站 | 性做久久久久久久免费看| 你懂得视频在线观看| 欧美伦理91i| 精品影视av免费| 亚欧激情乱码久久久久久久久| 精品国产亚洲在线| 国产成人精品一区二三区四区五区|