• php笔记


    <?php
    ?>

    php输出 echo" "
    ?>后面不能有空格!!!
    变量定义:
    $name="pstree";
    输出:
    echo $name;//输出变量
    var_dump($name);//输出数组,并打印类型和长度
    print_f($name);//输出数组

    $a="a";
    $b="b";
    printf("---%s---%s---",$a,$b);

    utf-8编码 一个中文字 占3个字节
    gbk编码 一个中文字 占2个字节

    $arr=array("abc","def","g");

    如果需要原样输出 需要在上下加上echo "<pre>"
    echo "</pre>

    echo $arr[1];
    $arr[]="d";//自动往后加值

    对象类型:
    两部分组成:属性和方法
    class tem{
    function test(){
    echo "";
    }
    public $name;
    }

    $user1 = new tem();
    uer1->test();

    header("content-type:text/html;charset=utf-8")//php设置字符编码,header之前不能有任何输出

    资源:
    //连接数据库资源`
    //文件打开资源
    //目标打开资源

    $conn = mysql_connect("localhost","root","123");
    mysql_select_db("test");
    mysql_query("set names utf8");
    $sql="select * from user";
    $rst=mysql_query($sql);
    while($row=mysql_fetch_assoc($rst))
    {
    echo "<h1>Id:{$row['id']}</h1>";
    }

    isset//变量是否存在
    isset($name);返回bool;当值为null也返回false

    empty://变量是否为空
    以下七种为空
    1.0
    2.""
    3."0"
    4.faluse
    5.array()
    6.null
    7.没定义

    变量类型测试:
    is_int($test);
    is_float();
    is_string();
    is_bool();
    is_array();
    is_object();
    is_resource();
    is_null();
    //资源和null为特殊类型
    is_scalar();//测试是否为标量(int float string bool)
    is_numeric();//测试是否是数字,测试整形,浮点型
    is_callable();//测试是否是可调用的合法结构(函数)而不是语言结构(echo print array list);

    强制类型转换
    (int)$num;

    删除变量
    unset($test);

    单引号速度快,最好用单引号

    常量定义:
    define("name","value");
    用常量不用加$

    系统定义常量:
    PHP_OS //当前php所在系统
    PHP_VERSION //当前php版本
    __LINE__ //当前行数
    __FILE__ //当前文件的绝对路径
    __FUNCTION__ //在函数内知道函数名
    M_PI //圆周率
    __CLASS__ //在类中知道类名
    __METHOD__ //在类的函数中知道函数名

    @运算符:
    屏蔽函数报错
    $connn =@mysql_connect("localhost","root","123");

    =>运算符://自定义数组下标 数组叫关联数组
    $arr=array("name"=>"user1","age"=>"30");
    echo "<pre>";
    print_r($arr);
    echo "</pre>"

    echo $arr['name'];//拿出user1

    结束脚本exit 或 exit("tuichu");

    func_num_args();//返回参数数量;
    func_get_args();//得到参数(数组)
    array_sum;//数组和
    return array_sum(func_get_args);

    变量函数:
    变量的值就是函数;
    function sum($i,$j)
    {
    return $i + $j;
    }
    $a="sum";
    echo $a(1,2);

    globel关键字 修饰后 可以把局部变量变为全局变量
    global $num;

    callback:回调函数(一个函数的参数是另一个函数)

    include()和require()的区别:前者找不到文件报错后继续执行,后者直接停止

    php执行过程:
    1.加载页面
    2.语法检测(1.语法检测 2.加载函数)
    3.执行脚本


    数组定义:
    $arr=array(1,2,3);
    $arr=array("name"=>"user1","age"=>"30");

    数组的遍历:
    foreach($arr as $key=>$val)
    {
    echo "<h1>{$key}:{$val}</h1>"
    }

    list($key1,$key2)=$arr;
    echo $key1;
    echo $key2;

    while($row=each($arr))
    {
    print_r($row);
    echo "<hr>";
    }

    while(list($key,$val)=each($arr))
    {
    echo $key.$val;
    echo "<hr>";
    }

    多维数组遍历
    foreach($arr as $val)
    {
    if(is_array($val))
    {
    foreach($val as $val2)
    {
    echo "|--".$val2."<br>";
    }
    }
    else
    {
    echo "|-".$val."<br>";
    }
    }

    超全局数组:
    $_SERVER//查看服务器信息

    $_GET//获取get提交过来的数据
    两个页面之间通讯:
    1.表单(第一种:get方式 第二种:post方式)
    <form action="" method="post">
    <input type="text" name="" >
    <input type="submit" value="">
    </form>
    2.a标签传值(get方式)

    $_POST
    $_REQUEST//速度慢,相当于get+post

    $_FILES//文件提交
    <form action="rev.php" method="post" enctype="multipart/form-data">
    文件上传<input type="file" name="" id="">
    <input type="submit" value="提交">
    </form>

    $_COOKIES
    setcokies("name","user1","time()+3600","/")
    名字 值 有效时间 路径

    $_SESSION
    session_start();
    $_SESSION['name']="user1";

    $GLOBALS//显示所有信息($_GET $_POST $_SERVER...等等)
    $GLOBALS[_GET]

    数组函数:
    array_values();
    array_keys();
    in_array("value",$array)//判断数组中是否存在某个值
    array_key_exists("key",$array);//
    array_flip($arr)//交换键和值
    array_reverse($arr);//翻转数组(颠倒)
    array_count_values();//统计数组中所有值出现的次数
    array_unique($arr)//去重
    count();元素个数计数
    shuffle();//打乱数组
    range();//建立一个指定范围单元的数组
    array_filter()//数组过滤
    function odd($var)
    {
    return ($var%2==0);
    }
    $arrs=array_filter($arr,"odd");


    array_map()//返回所有经过callback函数作用过后的数组
    $b=array_map("test",$arr);
    //处理多个数组时,须保证每个数组元素个数相同

    sort();//升序 不保留key
    rsort();//降序 不保留key
    asort();//保留key
    arsort();//保留key

    ksort()//根据键值排序
    krsort()//

    natsort()//按自然数排序(字典序) 只能升序排,要想降序可以翻转数组reverse;
    natcasesort()//忽略大小写

    array_multisort();//用一个数组对另一个数组排序
    $arr=array("aaa","bbbbbbbbbbbb","cc","ddddd")
    1.按标题长度排序
    2.把标题长度变成key
    //SORT_ASC 升序
    //SORT_DESC 降序
    foreach($arr as $val)
    {
    $lens[]=strlen($val);
    }
    array_multisort($lens,SORT_ASC,$arr);
    sort($lens);
    $arr2=array_combine($lens,$arr);//前面是key 后面是value


    拆分、合并、分解、结合
    1.explode();
    $str="a-b-c-d-e";
    $arr=explode("-",$str);

    2.join();//implode()
    $str=implode("-",$arr);

    3.array_slice();
    $arr=array("aa","bb","cc","dd","ee");
    $arr2=array_slice($arr,0,3);//截取arr[0]-arr[2];
    //如果从后面截取array_slice($arr,-2,2);截取dd,ee
    4.array_splice();
    把array_slice截取的元素删除
    最后可以加一个数组,表示把删除的补上

    $arr=array_pop($a);
    $arr=array_push($a,"vv");
    $arr=array_shift($a)//将a的第一个单元移出并返回结果数组
    array_unshift($array,$tem,$..)//在开头插入,保持顺序插入 返回int
    array_merge($a,$b)//合并数组

    $arr=range(A,Z);
    $arr=range(1,20);
    $arr=array_diff($a,$b);//对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值。

    $key=array_rand($arr);//随机取一个key

    array_sum($arr);


    ===============================================
    字符串:
    echo "asaa","bbb";
    printf("%s",$a)//%.2f两位小数
    sprintf("%s",$a)//返回一个字符串

    函数:
    1.去除空格和字符串填补函数
    ltrim()//干掉左边空格
    rtrim()//干掉右边空格
    trim()//干掉两端空格
    str_pad($str,number,"要补的字符串",STR_PAD_BOTH or STR_PAD_LEFT)//补字符串
    str_repeat("DSADAS",3)//重复三次
    strlen()

    2.大小写转换
    strtoupper()//大写 返回字符串
    strtolower()//小写
    ucfirst()//首字母大写
    ucwords()//每个单词首字母大写

    3.与html关联的函数

    4.其他字符串函数
    strrev()//翻转
    number_format($number,小数点后保留几位)//number_format — 以千位分隔符方式格式化一个数字
    md5()//加密成32位密码
    str_shuffle("abcdef");//随机排列abcdef

    与html有关的函数
    nl2br("dsadsa ffds ");//把所有 变成<br>;
    htmlspecialchars("<div style="background=red">aaaa</div>")//转成实体,就是div模块大小于号转换一下,用于留言的时候 用户写"<h1>dasdas</h1>",可以转成&lt;h1&nt;dasdas&lt;/h1&nt 转“、<、>、

    ubb标签:所有<>变成[]
    //43

    pathinfo()
    parse_str()将字符串解析成多个变量
    parse_url()


    正则表达式:
    1。原子
    . 任意一个字符
    w 字母数字下滑线
    W 除了数字字母下划线
    d 任意数字
    D 除了数字
    s 空白字符
    S 除了空白字符
    ^以什么开头
    $以什么结尾
     词边缘
    B 非词边缘
    [abc] abc里面任意一个字符
    [^abc] 除了abc的任意一个字符
    {m} m个原子
    {2,} 2个以上的原子
    {2,5} 2-5个前面的原子

    2。元子符
    * 0个1个多个
    + 1个多个
    ? 0个1个
    3.模式修正附

    正则表达式函数:
    1.preg_match()
    2.preg_match_all()
    3.preg_grep()
    4.preg_replace($ptn,$rep,$sub)
    5.preg_split()


    日期函数
    1.time()
    2.date()
    3.strtotime()
    4.microtime()

    date_default_timezone_set("PRC");//把时区调成中国

    date参数:
    Y 2013
    y 13
    m 03
    n 3
    d 05
    j 5
    w 0-6周日-周六
    t 31 一个月为多少天
    L 是否为润年
    H 24小时
    h 12小时
    i 05分钟
    s 05秒

    错误处理:
    1.关闭和开启报错
    2.报错级别
    3.报错地方

    //display_error 浏览器报不报错
    error_log = 错误日志文件报哪儿

    gd库画图:
    1.准备画布 $im=imagecreatetruecolor(500,300);
    2.准备涂料 $balck=imagecolorallocate($im,0,0,0);
    3.画图 imagefilledellipse($im,250,250,200,200,$white);
    imagefill($im,0,0,$white);//填充画布颜色 不写默认黑色
    4.输出到浏览器
    header("content-type:image/png")
    imagepng($im);
    //imagepng($im,"test.png")//保存
    5.关闭画布 imagedestroy($im);

    ceil加工 2.3变成3
    floor加工 2.3变成2
    round 四舍五入
    mt_rand(1,5)生成1-5的随机数
    pi() 派

    imagesetpixel($im,x,y,$color)//一个点
    for($i=0;$i<1000;$i++)//加入一千个点 干扰素
    {
    imagesetpixel($im,mt_rand(0,500),mt_rand(0,500),$white);
    }

    js跳转
    echo "<script>location='http://www.baidu.com'</script>";
    js弹窗
    <script>alert("验证码有误重新输入")</script>

    获取图片宽度
    getimagesize();

    图片等比例缩放

    图片缩放函数:
    imagecopyresampled()
    图片剪裁函数
    imagecopyresampled()
    图片水印函数
    imagecopy();

    is_dir();
    is_file();
    filetype();
    file_exists();
    filesize();

    文件

    文件删除:
    unlink();

    文件复制
    copy();

    rename();

    新建
    fopen($filename,"w");
    写入
    fwrite($fileresource,"ASDASDASDAS");
    读取
    fread($fileresource,filesize($filename))//1个字节
    把指针返回到文件开头
    rewind($fileresource);
    模式:a写入

    while(!feof($fs))//feof判断指针到没到结尾
    {
    $str=fread($fs,2);
    echo $str."<br>";
    }//一次读两个 读到结尾


    文件上传
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>
    <body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="" id="">
    <input type="submit" value="shangchuan">
    </form>
    </body>
    </html>

    <?php
    echo"<pre>";
    print_r($_FILES)
    echo "</pre>";

    $tmpfile=$_FILES['file']['tmp_name'];
    $dstfile="uploads/imgs/";
    if(move_uploaded_file($temfile,$dstfile))
    {
    echo 成功;
    }
    else{
    echo 失败;
    }
    ?>

    mysql
    s 显示所有信息

    表字段索引:
    1.主键索引
    2.普通索引

    desc select * from t1 where id=3G
    //检测sql语句 找到id=3检索多少次 G代表结果行列转换后输入

    添加普通索引:
    alter table t2 add index in_name(name);
    删除普通索引:
    alter table t2 drop index in_name;

    mysql limit//分页技术

    session技术
    1.session_start();
    $_SESSION['username']="user1";

    2.查看SESSION
    print_r($_SESSION);

    3.删除SESSION
    session_start();
    session_unset()//清空session数组
    session_destroy()//销毁session
    setcookie(session_name(),"",time()-3600,"/");//删除客户端卡号

    echo session_name();
    echo session_id();

    for in循环
    var obj=new Object();
    obj.name="user1";
    obj.age=30;
    obj.sec="nan";
    for(var i in obj)
    {
    alert(i+"=>"+obj[i]);
    }


    网页目录结构
    1.前台-home
    2.后台-admin
    3.前台入口文件-index.html
    4.前后台公用文件夹-public

  • 相关阅读:
    11.26
    数组
    JavaScript
    2018.11.26
    input标签
    HPH 函数
    jQuery
    19/1/3数组
    2018/12/26//循环体
    12/25
  • 原文地址:https://www.cnblogs.com/Duskcl/p/4175816.html
Copyright © 2020-2023  润新知