php常用函数

来源:互联网 发布:mac的qq不能远程 编辑:程序博客网 时间:2024/06/04 00:26

数学函数

1.floor函数 :下取整2.ceil函数:   上取整    $x = 2.7;    $y = 3.01;    echo floor($x);    echo ceil($y);3.pow函数:  echo pow(2,3) , '<br/><br/>';4.sqrt函数:echo sqrt(4) , '<br/><br/>';5.max:6.min:    $x = 6;    $y = 3.2;    $z = 1;    echo max($x,$y,$z) , '<br/><br/>';    echo min($x,$y,$z) , '<br/><br/>';7.mtrand(int $min,int $max)     echo rand() , '<br/><br/>';    echo mt_rand() , '<br/><br/>';    $chars = 'abcdefghijlmnopqrstuvwxyz789654321';    $len = strlen($chars);    for($i=0;$i<4;$i++){        $char .= substr($chars,mt_rand(0,$len-1),1);    }    echo $char;8.round(float $val)四舍五入    $x = 7.238;    echo round($x) , '<br/><br/>';    echo round($x,2);9.number_format(float $num)将以千位分隔符格式化数字    $x = 7896.827;    echo number_format($x) , '<br/><br/>'; 7,897    echo number_format($x,2) , '<br/><br/>'; 7,896.8310.fmodfloat $x, float $y)将返回出发的浮点数余数     echo fmod(7.8,3) , '<br/>';     echo 7.8 % 3 ; //整数余数的操作

字符串函数

01.获取字符串长度 int strlen(string $str)    $str1 = NULL;    $str2 = 'AB';    echo strlen($str1) , strlen($str2);02.将字符串转小写 string strtolower(string $str)03.将字符串转大写 string strtoupper(string $str)04.将句子首字母转大写 string ucfirst(string $str)05.将每个单词的首字母转大写 string ucwords(string $str)    $str1 = 'html';    $str2 = 'PHP';    echo strtoupper($str1) , strtolower($str2);    echo '<br/>';    $str3 = 'this is a test';    echo ucfirst($str3) , '<br/>' , ucwords($str3);06.实现字符替换,区分大小写 mixed str_replace()07.实现字符替换,不区分大小写 mixed str_ireplace()    $str = 'javascript';    echo str_ireplace('A', 'b', $str);08_1.htmlspecialchars 预定义的字符串转换为HTML实体     (在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。)        $str = "A>B,B<C,Tom&John,He said:\"I'm OK\"";        echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号        echo '<hr/>';        echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号        echo '<hr/>';        //通过str_replace进行转换        $str1 = str_replace('&', '&amp;', $str); //必须是第一阶梯        $str2 = str_replace('>', '&gt;', $str1);        $str2 = str_replace('<', '&lt;', $str2);        $str2 = str_replace('"', '&quot;', $str2);        $str2 = str_replace('\'', '&#39;', $str2);        echo $str2;08.trim删除字符串首尾空格或其它字符    $str = "\n\n\t\tABC\t\t";    echo trim($str);09.strpos 返回一个字符在另一个字符第一次出现的位置10.stripos返回一个字符在另一个字符第一次出现的位置(忽略大小写)****位置*****    $str1 = 'javascript';    $str2 = 'A';    var_dump(stripos($str1, $str2));     //字符串从0开始编号,如果没有出现,则返回FALSE。11.strrpos 返回一个字符串在另一个字符串最后出现的位置12.strripos返回一个字符串在另一个字符串最后出现的位置(忽略大小写)13.substr  截取字符串 string substr(string $string,int $start,[int $length])    $str = 'javascript';    echo substr($str, 0,4) , '<br/><br/>';    echo substr($str, 4) , '<br/><br/>';    echo substr($str, -2) , '<br/><br/>';  倒数    echo substr($str, -5,-1) , '<br/><br/>';倒数,长度:起点至结尾减去114.strstr  搜索一个字符串在另一个字符串中的第一次出现的位置15.stristr 搜索一个字符串在另一个字符串中的第一次出现的位置(忽略大小写)16.strrchr 搜索一个字符串在另一个字符串中的最后出现的位置,并***返回从该位置到字符串结尾的所有字符***    $str1 = 'abcdcef';    $str2 = 'c';    echo strrchr($str1, $str2);    $filename = 'a.bc.cd.png';    echo strrchr($filename, '.');    echo substr(strrchr($filename, '.'),1);    $str3 = strrev($filename); //gnp.dc.cb.a    $str4 = strstr($str3, '.'); //.dc.cb.a    echo strrev(substr($str3, 0,strlen($str3) - strlen($str4)));17.strrev 反转字符串    $filename = 'ab.cd.gif.JpEg';     $num = strrpos($filename, '.');    echo $num;    echo strtolower(substr($filename, $num+1)) , '<br/><br/>';    $str2 = strrev($filename);    $num = strpos($str2, '.');    echo strtoupper(strrev(substr($str2, 0,$num)));18.md5 实现计算字符串的md5哈希    $str = 'wang';    echo md5($str);19.str_shuffle 随机打乱字符串    $str = 'abcdefghijklmnopqrstuvwxyz';    $str = str_shuffle($str);    echo substr($str,0,4);20.explode 使用一个字符串分割另一个字符串,得到数组21.implode 将一个一维数组的值转化为字符串    header('content-type:text/html;charset=utf-8');    $str = 'A|B|C|D';    $arr = explode('|', $str);    print_r($arr);    //数组    $arr2 = array('Tom','John','Rose');    $str2 = implode(',',$arr2);    echo $str2 , '<br/>';22.sprintf 格式化字符串  %多余参数,必须使用占位符:1\$    $number = 5;    $str = 'shanghai';    $txt = sprintf('there are %d million cars in %s', $number, $str);    echo $txt, '<br/><br/>';    $number = 123;    $txt = sprintf("带有两位小数的结果是:%1\$.5f,<br/>不带小数的是:%1\$d", $number);    echo $txt;    参数含义:    %% 返回一个%            %b 二进制数    %d 包含正负号的十进制        %e 小写科学计数法    %s 字符串              %f 浮点数 (本地设置)实体名http://www.w3school.com.cn/html/html_entities.asp

时间和日期函数

1.date格式化一个本地时间/日期2.date_default_timezone_set 设置默认时区3.date_default_timezone_get 获取默认时区4.支持时区列表  Asia/Hong_Kong   Asia/Shanghai5.通过配置文件修改时区  data.timezone6.Unix时间戳或称Unix时间,POSIX时间是一种时间的表示方式,定义为从格林时间19700101000000秒起至现在的秒数7.time 返回当前Unix时间戳    echo time() , '<br/><br/>';    echo '当前的日期时间是:' , date('Y-m-d H:i:s') , '<br/>';    echo '昨天的日期时间是:' , date('Y-m-d H:i:s',time()-86400) , '<br/>'; //24*60*608.strtotime 将字符串转换成Unix时间戳    echo '三个星期之前的时间戳是:' ,  strtotime('-3 weeks') , '<br/><br/>';    echo (time() -  strtotime('-3 weeks'))/86400 , '<br/><br/>';    //获取上一个月的日期    echo date('Y-m-d H:i:s',strtotime('-1 month')) , '<br/>';    echo date('Y-m-d H:i:s',strtotime('first day of -1 month')) , '<br/>';9.microtime 返回当期那Unix时间戳和微秒数    echo microtime() , '<br/>';    echo microtime(true) , '<br/>';//返回浮点数    $start = microtime(true);    $sum = 0;    for ($i=0; $i <1000000 ; $i++) {         $sum += $i;    }    $end = microtime(true);    echo  '共花费' , round($end - $start,3) , '秒';10.uniqid函数基于以微秒计的当前时间,生成一个唯一的 ID。    echo uniqid() , '<br/>';    echo uniqid('mooc') , '<br/>';    echo uniqid(microtime()) , '<br/>';    echo uniqid(microtime() . mt_rand()) , '<br/><br/>'; //mt_rand(100,999);    //uuid 8-4-4-4-12 = 32    echo md5(uniqid(microtime() . mt_rand())) , '<br/><br/>';    注释:由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数11.getdate 获取日期/时间信息    print_r(getdate());   date_default_timezone_set('Asia/shanghai');   echo '当前日期:'  , date('Y-m-d') , '<br/><br/>';   echo '下一个月的日期' , date('Y-m-d', strtotime('1 month')) , '<br/><br/>';   echo '上一个月的日期' , date('Y-m-d H:i:s',strtotime('last day of -1 month')) , '<br/><br/>';   echo '上一个月的日期' , date('Y-m-d H:i:s', strtotime("midnight last day of -1 month")) , '<br/><br/>';    echo '昨天' ,  date('Y-m-d H:i:s',strtotime('yesterday')) , '<br/><br/>';   echo '当前日期' ,  date('Y-m-d H:i:s',strtotime('now')) , '<br/><br/>';  yesterday 昨天午夜  midnight  午夜  today     午夜  noon      中午 120000  tomorrow  明天午夜   first day of ?? 某月第一天  last day of ??  某月最后一天

php数组

被包围在 <pre> 标签 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体    echo '<pre>';    $arr=range('1','5');       print_r($arr);       echo $arr[0],'<br/>';       echo $arr[1],'<br/>';       echo $arr[2],'<br/>';    //count()得到数组中元素的个数       echo count($arr),'<br/>';       $var=123;       echo count($var),'<br/>';       $var=null;       echo count($var),'<br/>';    // exit;    //for循环只能遍历下标连续的索引数组,下面的两个数组则无法遍历     for($i=0,$count=count($arr)-1;$i<=$count;$i++){         echo $arr[$i],'<br/>';       }    $arr=[        5=>'a',        -12=>'b',        345=>'c'    ];    $arr=[    'username'=>'king',    'age'=>12    ];    echo '</pre>';

数组运算符相关

array_merge 合并数组    $arr1=['a','b','c'];    $arr2=['d','e','f'];    $arr3 = $arr1 + $arr2;    $newArr=$arr1 + $arr2;    echo "如果数组键名相同,只会使用左边数组元素的值";    var_dump($arr3);    var_dump(array_merge($arr1, $arr2));    $arr1=[        'a','b','c'    ];    $arr2=[        10=>'c',        11=>'d',        12=>'e'    ];    $arr3=[        'username'=>'king',        'age'=>12    ];    $arr4=[        'username'=>'queen',        'age'=>23,        'email'=>'382771946@qq.com'    ];    $newArr=$arr1+$arr2+$arr3+$arr4;    print_r($newArr);    echo '<hr/>';    //==  比较数组的键名和键值是否相同,如果相同返回true,否则返回false    //=== 既要比较键名和键值是否相同,而且顺序也要相同    $a=[        3=>'a',        '5'=>true    ];    $b=[        5=>1,        '3'=>'a'    ];    $c=[        '3'=>'a',        '5'=>1    ];    var_dump($a==$b,$a===$b,$a==$c,$a===$c);    echo "<hr/>";

通过foreach遍历数组

foreach分为两种形式   只要键值的情况   foreach($数组名称 as $val){    循环体;    }    既要键名又要键值的情况    foreach($数组名称 as $key=>$val){      循环体;  }  -----------------------------   $arr=[       5=>'a',       12=>'b',       -123=>'c',       34=>'d'    ];     print_r($arr);     -----------------------------------     foreach($arr as $v){       echo $v;     };

查看PHP版本 phpinfo();

定义数组

    通过array()    空数组    $arr=array();    //检测是否是数组    var_dump($arr);    //gettype():得到变量的类型    echo gettype($arr);    通过is_array():检测变量是否为数组    var_dump(is_array($arr));    //通过array()下标连续的索引数组    $arr=array(2,3.4,'king',true);    print_r($arr);    //手动指定下标    $arr=array(      3=>'a',      5=>'b',      '6'=>'c'    );    print_r($arr);    //定义关联数组    $userInfo=array(      'username'=>'king',      'age'=>12,      'email'=>'382771946@qq.com',      'salary'=>600000    );    print_r($userInfo);    //定义混合数组    $arr=array(     'a','b','c',     'username'=>'imooc',     'desc'=>'最好的在线教育平台',     5=>'d',     -12=>'e'    );    print_r($arr);

测试数组键名的

echo '<pre>';    $arr=array(      3=>'a',      'username'=>'king',      5.6=>'b',      true=>'c',      false=>'d',      null=>'e'    );    var_dump($arr);    echo '<hr/>';    //如果下标重复,后面的覆盖前面的值    $arr=array(      'a',      0=>'b'    );    var_dump($arr);    echo '<hr/>';    //如果新添加元素没有指定下标,它的下标为已有下标最大值加1(已有下标不全为负数)    $arr=array(      'a','b','c',      5=>'d',      19=>'e',      'f'    );    var_dump($arr);    echo '<hr/>';    //如果已有下标都为负数,那么新添加元素的下标从0开始    $arr=array(      -12=>'a',      -43=>'b',      'c'    );    var_dump($arr);    echo '</pre>';

二维数组

    //二维索引+索引    $arr=array(      array('a','b','c'),      array('d','e','f')    );    //print_r($arr);    //二维索引+关联    $arr=array(      array(        'id'=>1,        'username'=>'king'      ),      array(        'id'=>2,        'username'=>'queen'      )    );    //print_r($arr);    //二维关联+索引    $arr=array(      'users'=>array('king','queen','张三'),      'ages'=>array(12,34,56)    );    //print_r($arr);    //二维关联+关联    $arr=array(      'usersInfo'=>array(        'id'=>1,        'username'=>'king'      ),      'courseInfo'=>array(        'cid'=>1,        'courseName'=>'PHP'      )    );    //print_r($arr);

二维中最重要的形式是二维索引+关联的形式
(数据库中查询出的记录就是这种形式)

二维的关联+关联

    echo "<pre/>";    $arr=array(      array(        array('a')      )    );    print_r($arr);    echo '<hr/>';    $arr=['a','b','c'];    print_r($arr);    echo '<hr/>';    $arr=[      ['id'=>1,'username'=>'king1','age'=>12],      ['id'=>2,'username'=>'king2','age'=>22],      ['id'=>3,'username'=>'king3','age'=>32],      ['id'=>4,'username'=>'king4','age'=>42]    ];    print_r($arr);    echo '<hr/>';    $arr=[      'courses'=>['courseName'=>'php','courseDesc'=>'PHP 是最好的语言'],      'test'=>['a'=>'aa','b'=>'bb']    ];    print_r($arr);

动态创建数组

//动态创建下标连续的索引数组    $arr1[]=12;    $arr1[]=45678.9;    $arr1[]=true;    //array(12,45678.9,true)    print_r($arr1);    //手动指定下标的索引数组    $arr2[3]=45;    $arr2[-56]=-12;    $arr2[0]='hello world';    $arr2[]='this is king show time';    print_r($arr2);    //动态创建关联数组    $desc='this is a test';    $userInfo['username']='king';    $userInfo['age']=12;    $userInfo['desc']=$desc;    $userInfo[12]='aaaa';    $userInfo[]='bbb';    print_r($userInfo);    //二维的索引+关联    $arr3[]=['id'=>1,'username'=>'king1','age'=>12];    $arr3[]=['id'=>2,'username'=>'king2','age'=>12];    $arr3[]=['id'=>3,'username'=>'king3','age'=>12];    $arr3[]=['id'=>4,'username'=>'king4','age'=>12];    print_r($arr3);    //二维关联+关联    $arr4['course']=['courseName'=>'php','courseDesc'=>'PHP is the best language'];    print_r($arr4);    $arr5[][][][][]=1;    print_r($arr5);

快速创建数组

//快速创建下标连续的索引数组    $arr=range(1,10);    print_r($arr);    $arr=range(-10,5);    print_r($arr);    //手动指定步长的数组  步长数2    $arr=range(1,10,2);    print_r($arr);    echo '<hr/>';    $arr=range('a','z');//97~122    print_r($arr);    echo '<hr/>';    for($i=97;$i<=122;$i++){      //从指定 ASCII 值返回字符。          $arr1[]=chr($i);    }    print_r($arr1);    echo '<hr/>';    //快速创建关联数组    $username='king';    $age=12;    $email='382771946@qq.com';    $userInfo1=array(      'username'=>$username,      'age'=>$age,      'email'=>$email    );    print_r($userInfo1);    $userInfo2['username']=$username;    $userInfo2['age']=$age;    $userInfo2['email']=$email;    print_r($userInfo2);    //注意,通过compact创建数组的时候,    //只能写已经存在的变量的名称,不需要加$    $a=12;    $b=false;    $c=null;    $userInfo3=compact('username','age','email','a','b','c');    print_r($userInfo3);

数组使用–查找元素

$arr=['a','b','c','d'];    print_r($arr);    echo $arr[2];    echo '<br/>';    $arr=[      'username'=>'king',      'age'=>12,      'email'=>'382771946@qq.com'    ];    echo '用户名为:',$arr['username'],'<br/>';

二维的索引+关联

echo '<hr/>';    $users[]=['id'=>1,'username'=>'king1','age'=>21];    $users[]=['id'=>2,'username'=>'king2','age'=>51];    $users[]=['id'=>3,'username'=>'king3','age'=>11];    print_r($users);    echo $users[1]['username'];    echo '<hr/>';    echo $users{2}{'age'};    echo '<hr/>';    //向数组中添加元素    $arr=['a','b','c'];    $arr[]='d';    $arr['test']='this is a test';    $arr[56]='hello world';    $arr[0]='aaaa';    print_r($arr);    //更新操作    $arr[3]='dddd';    print_r($arr);    //删除指定元素    unset($arr['test']);    print_r($arr);    unset($arr[56]);    print_r($arr);    echo '<hr/>';    //针对于二维数组的操作:增删改查操作    $courses[]=['id'=>1,'courseName'=>'php','courseDesc'=>'PHP是最好的语言'];    $courses[]=['id'=>2,'courseName'=>'javascript','courseDesc'=>'javascript是最好的语言'];    $courses[]=['id'=>3,'courseName'=>'go','courseDesc'=>'go是最好的语言'];    print_r($courses);    echo $courses[0]['courseName'],'--',$courses[0]['courseDesc'],'<br/>';    $courses[1]['courseName']='js';    echo $courses[1]['courseName'],'<br/>';    unset($courses[2]['courseName']);    print_r($courses);    unset($courses[1]);    print_r($courses);    echo '<hr/>';    function test(){      return ['a','b','c'];    }    $res=test();    echo $res[1];    echo '<br/>';    echo test()[1];

数组指针相关函数

key($array):        得到当前指针所在位置的键名,如果不存在返回null        current($array):得到当前指针所在位置的键值,如果不存在返回false        next($array):        将数组指针向下移动一位,并且返回当前指针所在位置的键值;如果没有,返回false        prev($array):        将数组指针向上移动一位,并且返回当前指针所在位置的键值;如果没有,返回false        reset($array):        将数组指针移动到数组开始,并且返回当前指针所在位置的键值;如果没有,返回false        end($array):        将数组指针移动到数组的末尾,并且返回当前指针所在位置的键值;如果没有,返回false        */        echo '<pre>';        $arr=[          'a','b','c',          35=>'test',          'username'=>'king',          'age'=>12        ];        // print_r($arr);        /*        Array        (            [0] => a            [1] => b            [2] => c            [35] => test            [username] => king            [age] => 12        )        */        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo next($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo next($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo next($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo next($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo prev($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo '<hr/>';        echo end($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        var_dump(next($arr),key($arr),current($arr));        echo '<hr/>';        echo reset($arr),'<br/>';        echo '当前指针所在位置元素的键名为:',key($arr),'<br/>';        echo '当前指针所在位置元素的键值为:',current($arr),'<br/>';        echo '</pre>';

each list

<?php/*    list():将下标连续的从0开始的索引数组赋值给相应的变量    each($array):得到当前指针所在位置的键值对,返回的是数组,包含4个部分;并且将指针向下移动一位*/  /* $arr=['a','b','c'];   list($var1,$var2,$var3)=$arr;   echo $var1,$var2,$var3;   list(,$b,$c)=$arr;   list(,,$c)=$arr;   echo $b,$c;   echo $c;   echo '<hr/>';   $arr=['a','b','c'];   list($arr1[],$arr1[],$arr1[])=$arr;   print_r($arr1);   list() = [];   list(,,) = [];   list($x, list(), $y) = $a;*/// $arr=[//   [1,'king1',12],//   [2,'king2',22],//   [3,'king3',32]// ];// foreach($arr as list($id,$username,$age)){//   echo $id,'-',$username,'-',$age,'<br/>';// }$arr=[  'a'=>'aaaa',  'b'=>'bbbb',  'c',  'username'=>'king',  33=>'ddd'];//print_r($arr);/*Array(    [a] => aaaa    [b] => bbbb    [0] => c    [username] => king    [33] => ddd)*/// $res=each($arr);// print_r($res);/*Array(    [1] => aaaa    [value] => aaaa    [0] => a    [key] => a)*/// echo key($arr),'-',current($arr);// list($k,$v)=each($arr);// echo $k,'-',$v,'<br/>';//  while(list($k,$v)=each($arr)){//      echo $k,'--',$v,'<br/>';//  }

重点内容

echo '<pre>';$userInfo=[  'username'=>'king',  'password'=>'123456',  'email'=>'382771946@qq.com'];$keys=join(',',array_keys($userInfo));// print_r($keys);$vals="'".join("','",array_values($userInfo))."'";// print_r($vals);//INSERT user(username,password,email) VALUES('king','123456','382771946@qq.com')$sql="INSERT user({$keys}) VALUES({$vals})";echo $sql;echo '<hr/>';//in_array()$allowExts=['jpg','jpeg','png','gif'];$ext='jpg';var_dump(in_array($ext,$allowExts));echo '<hr/>';//shuffle($array):打乱数组$string='速,度,快,放,假,了,开,始,对,房,价,来,看,是,地,方,记,录,卡,维,尔';$arr=explode(',',$string);shuffle($arr);// print_r($arr);$arr=array_flip($arr);$res=array_rand($arr,4);echo join('',array_values($res));print_r($res);echo '<hr/>';$sum='102,123,456,789,2345,535';echo array_sum(explode(',',$sum));echo '<br/>';echo array_product(explode(',',$sum));

重点内容

给你这样的字符串2,3,5,19,39$string='2,3,5,19,39';$arr=explode(',',$string);echo array_sum($arr);echo '<br/>';echo array_product($arr);echo '<hr/>';/*1.txt.php.jpg截取文件扩展名,并且检测扩展名是否在['jpg','jpeg','gif','png']*/$allowExts=['jpg','jpeg','gif','png'];$filename='1.txt.php.jpg';$arr=explode('.',$filename);$ext=end($arr);var_dump(in_array($ext,$allowExts));echo '<hr/>';/*array_push():array_pop():array_unshift():array_shift():*/$arr=['a','b','c'];$res=array_pop($arr);echo $res;print_r($arr);echo '<hr/>';array_push($arr,'hello world',123,324,23,345,'sdfs');print_r($arr);echo '<hr/>';$arr=['a','b','c'];echo array_shift($arr);print_r($arr);array_unshift($arr,'d','ef');print_r($arr);echo '<hr/>';$filename='1.txt.jpg';$allowExts=['jpg','jpeg','gif','png'];$arr=explode('.',$filename);$ext=array_pop($arr);if(in_array($ext,$allowExts)){  echo '文件类型合法';}else{  echo '非法文件类型';}/*快速生成字符串*/$str1=join('',range(0,9));$str2=join('',range('a','z'));$str3=join('',range('A','Z'));echo '<hr/>';$arr1=range(0,9);$arr2=range('a','z');$arr3=range('A','Z');$newArr=array_merge($arr1,$arr2,$arr3);// print_r($newArr);// $str='';// for($i=1;$i<=4;$i++){//   $str.=$newArr[mt_rand(0,count($newArr)-1)];// }// echo $str;$res=array_rand(array_flip($newArr),4);// print_r($res);echo join('',$res);$newArr=array_merge($arr1,$arr2,$arr3);print_r($newArr);shuffle($newArr);print_r($newArr);

重点内容

$arr=['a','b','c'];array_push($arr,'d','e','f');print_r($arr);$res=array_pop($arr);echo $res;print_r($arr);$arr=['a','b','c'];array_unshift($arr,'hello world');print_r($arr);echo array_shift($arr);print_r($arr);

php如何定义数组常量

//define常量的值;仅允许标量和 null。    //标量的类型是 integer, float,string 或者 boolean。    //所以数组是不允许的    //方法一:采用eval()函数    //eval() 函数把字符串按照 PHP 代码来计算。    //该字符串必须是合法的 PHP 代码,且必须以分号结尾。    //如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。    //  define('BEST_PHPER',"return array('name'=>'巩文','address'=>'china');");    //  $BEST_PHPER=eval(BEST_PHPER);    //  var_dump($BEST_PHPER);    //方法二:采用json_encode()函数    //  define('BEST_PHPER',json_encode(array('name'=>'巩文','address'=>'china')));    //  $BEST_PHPER=json_decode(BEST_PHPER,true);    //  var_dump($BEST_PHPER);    //方法三:采用serialize()函数    //  define('BEST_PHPER',serialize(array('name'=>'巩文','address'=>'china')));    //  $BEST_PHPER=unserialize(BEST_PHPER);    //  var_dump($BEST_PHPER);