php函數集

來源:互聯網
上載者:User
  • 統計數組元素個數
  • php$arr = array(      '1011,1003,1008,1001,1000,1004,1012',      '1009',      '1011,1003,1111'    );$result = array();foreach ($arr as $str) {  $str_arr = explode(',', $str);  foreach ($str_arr as $v) {    // $result[$v] = isset($result[$v]) ? $result[$v] : 0;    // $result[$v] = $result[$v] + 1;    $result[$v] = isset($result[$v]) ? $result[$v]+1 : 1;  }}

    print_r($result);
    //Array
    (
    [1011] => 2
    [1003] => 2
    [1008] => 1
    [1001] => 1
    [1000] => 1
    [1004] => 1
    [1012] => 1
    [1009] => 1
    [1111] => 1
    )
    2. 迴圈刪除目錄

    phpfunction cleanup_directory($dir) {  foreach (new DirectoryIterator($dir) as $file) {    if ($file->isDir()) {      if (! $file->isDot()) {        cleanup_directory($file->getPathname());      }    } else {       unlink($file->getPathname());    }  }   rmdir($dir);}

    3.無限極分類產生樹

    php
    function generateTree($items){ $tree = array(); foreach($items as $item){ if(isset($items[$item['pid']])){ $items[$item['pid']]['son'][] = &$items[$item['id']]; }else{ $tree[] = &$items[$item['id']]; } } return $tree;}function generateTree2($items){ foreach($items as $item) $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; return isset($items[0]['son']) ? $items[0]['son'] : array();}$items = array( 1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'), 2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'), 3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'), 4 => array('id' => 4, 'pid' => 3, 'name' => '長豐縣'), 5 => array('id' => 5, 'pid' => 1, 'name' => '安慶市'),);print_r(generateTree($items));/** * 如何取資料格式化的樹形資料 */$tree = generateTree($items);function getTreeData($tree){ foreach($tree as $t){ echo $t['name'].'
    '; if(isset($t['son'])){ getTreeData($t['son']); } }}

    4.數組排序 a - b 是數字數組寫法 遇到字串的時候就要

    phpvar test = ['ab', 'ac', 'bd', 'bc'];test.sort(function(a, b) {    if(a < b) {        return -1;    }    if(a > b) {        return 1;    }    return 0;});
  • array_reduce
  • php$raw = [1,2,3,4,5,];// array_reduce 的第三個參數是 $result 的初始值array_reduce($raw, function($result, $value) {    $result[$value] = $value;    return $result;}, []);// [1 => 1, 2 => 2, ... 5 => 5]

    6.array_map 閉包中只接受一個或者多個參數,閉包的參數數量和 array_map 本身的參數數量必須一致

    php$input = ['key' => 'value'];array_map(function($key, $value) {    echo $key . $value;}, array_keys($input), $input)// 'keyvalue'

    7.繁殖兔子

    php$month = 12;   $fab = array();   $fab[0] = 1;   $fab[1] = 1;     for ($i = 2; $i < $month; $i++)     {         $fab[$i] = $fab[$i - 1] + $fab[$i - 2];     }     for ($i = 0; $i < $month; $i++)     {         echo sprintf("第{%d}個月兔子為:{%d}",$i, $fab[$i])."
    "; }

    8 .datetime

    phpfunction getCurMonthFirstDay($date){    return date('Y-m-01', strtotime($date));} getCurMonthLastDay('2015-07-23')function getCurMonthLastDay($date){    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' +1 month -1 day'));}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.