php函数集

WBOY
Freigeben: 2016-06-20 12:53:27
Original
1093 Leute haben es durchsucht
  • 统计数组元素个数
  • 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;  }}
    Nach dem Login kopieren

    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);}
    Nach dem Login kopieren

    3.无限极分类生成树

    php<br />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'].'<br>';        if(isset($t['son'])){            getTreeData($t['son']);        }    }}
    Nach dem Login kopieren

    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;});
    Nach dem Login kopieren
  • 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]
    Nach dem Login kopieren

    6.array_map 闭包中只接受一个或者多个参数,闭包的参数数量和 array_map 本身的参数数量必须一致

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

    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])."<br/>";     }
    Nach dem Login kopieren

    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'));}
    Nach dem Login kopieren
    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage