zoukankan      html  css  js  c++  java
  • php基础-预定义函数

    操作变量常用函数

    gettype:获取变量数据类型

            $a=11;
            $b="11";
            $c=true;
            $d=11.11;
    
            echo gettype($a)."<br>";  //integer
            echo gettype($b)."<br>";  //string
            echo gettype($c)."<br>";  //boolean
            echo gettype($d)."<br>";  //double
    

    settype:永久更改变量数据类型
    is_array():检查是否是数据,返回true或者false
    is_数据类型关键字():检查变量是否是对应的数据类型
    is_null(): 是否是null
    is_callable(): 检查变量是否是有效的 函数名称
    isset():变量是否存在 即;是否被初始化
    unset():销毁变量
    empty() 检查变量是否存在;并且变量的值是否为空 null 或者是0

    字符串函数

    strpos() 查找字符位置:
    strstr ( ) 输出指定字符串
    str_replace() 替换字符串
    strlen() 获取字符串长度
    strcmp () 比较字符函数
    trim() 去除空格:
    implode() 连接字符串
    strtoupper ( ) , strtolower() 字符大小写转换函数
    strval( ) 获取变量的字符串
    

    strpos:注意事项判断时需要使用 ===

    <?php
    $mystring = 'abc';
    $findme   = 'a';
    $pos = strpos($mystring, $findme);
    
    // 注意这里使用的是 ===。简单的 == 不能像我们期待的那样工作,
    // 因为 'a' 是第 0 位置上的(第一个)字符。
    if ($pos === false) {
        echo "The string '$findme' was not found in the string '$mystring'";
    } else {
        echo "The string '$findme' was found in the string '$mystring'";
        echo " and exists at position $pos";
    }
    ?>
    

    strstr 参数说明strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string

    haystack
    输入字符串。

    needle
    如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用。

    before_needle
    若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。

    返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。(不管后面有没有再出现target)

    Note:

    该函数区分大小写。如果想要不区分大小写,请使用 stristr()。

    Note:

    如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。

    <?php
    $email  = 'name@example.com';
    $domain = strstr($email, '@');
    echo $domain; // 打印 @example.com
    
    $user = strstr($email, '@', true); // 从 PHP 5.3.0 起
    echo $user; // 打印 name
    ?>
    

    数学函数:

    1. abs() 绝对值:
    2. ceil() 进一法取整:
    3. floor() 舍去法取整:
    4. round() 对浮点数进行四舍五入:
    5. rand() 产生一个随机整数
    6. max 找出最大值:
    7. min 找出最小值:
    8. number_format () 格式化数字:
    9. intval() 获取变量的整数值
    

    数组函数:

    1.array_values 返回数组中所有的值
    2.array_keys 返回数组中所有的键名
    3.in_array 检查数组中是否存在某个值
    4.array_flip 交换数组中的键和值
    5.array_reverse 返回一个单元顺序相反的数组
    

    时间函数

    1.time() 时间戳
    2.date() 格式化时间
    3.date_default_timezone_set('PRC') 设置时区 PRC:中国
    4.strtotime()
    转换为Unix时间戳修改时间单词: year(年) month(月)
    day(日) hours(时) minute(分) second(秒)
    5.mktime() 日期unix时间戳
    

    输出函数

    echo语句 值(字符串形式) 数组:Array 对象:无法查看(toString
    除外)
    print_r()函数 值(字符串形式) 格式化输出,加参数true,输出到字
    符串
    var_dump()函 数
    类型(字符串形式)、值(字符串
    形式) 类型、长度、值
    

    导入函数:

    1.include 语句包含并运行指定文件
    2.include_once 和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包
    含。
    3.require require 在出错时将导致脚本中止而 include 只产生警告,脚本会继续运行。
    4.require_once
    和require类似,PHP 会检查该文件是否已经被包含过,如果是则不会再次包
    含
    

    函数使用案例:

    封装一个函数,返回上一周的当前时间,使用日期函数

    function return_time($a){
     	return date("Y-m-d H:i:s",strtotime("-$a day"));
     }
    

    封装一个函数,找出数组里面的最大值,实现max函数的效果,
    不使用系统函数

     $arr=[1,4,6,9,8,7,3];
     function getMAX($array){//$arr
     	$maxNum=0;//1 4 
     	foreach ($array as $k => $v) {//$arr
     		if ($maxNum<$v) {//4<6
     			$maxNum = $v;
     		}
     	}
     	return $maxNum;
     }
    

    封装一个函数,这个函数可以实现从0123456789a-zA-Z这62个字符中随机生成6位字符串或者8位字符串。
    思考题 如何去重,达到随机的字符里面没有重复的
    非去重:

    function get_rand()
    {
        $str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $rand_str = '';
        for ($i = 0; $i < 6; $i++) {
            $rand_str .= $str[rand(0, strlen($str) - 1)];
        }
    
    
        echo $rand_str;
    }
    

    去重:

     function get_rand($num){
     	$str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
     	$rand_str = "";
     	while (strlen($rand_str)< $num) {
     		$s=$str[rand(0,strlen($str)-1)];
     		if(!strpos($rand_str, $s)){
     			$rand_str.=$s;
     		}
    
     	}
     	return $rand_str;
     }
    
  • 相关阅读:
    python机器学习:推荐系统实现(以矩阵分解来协同过滤)
    使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
    R语言中小样本违反异方差性的线性回归
    R语言基于协方差的结构方程拟合的卡方检验
    R语言异方差回归模型建模:用误差方差解释异方差
    R语言中的生存分析Survival analysis晚期肺癌患者4例
    python列表的方法(改变原列表)
    python修改列表
    python列表的 + 、* 、in 、 not in 、 len() 、 max() 、 min()
    python切片(获取一个子列表(数组))
  • 原文地址:https://www.cnblogs.com/justsus/p/13958986.html
Copyright © 2011-2022 走看看