zoukankan      html  css  js  c++  java
  • php学习笔记1

    1Php的开头和结尾

    PHP 脚本以 <?php 开头,以 ?> 结尾:

    2、PHP中输出:(echoprint,在使用时带不带括号均可,如echo(“Hello Word”))

    echoprint区别:

    echo能输出1个以上的字符串

    Print只能输出一个字符串

    echo在页面上输出文字  如 echo "Hello World!" 

     var_dump()能输出数据类型和值

    3、注释:

    <!DOCTYPE html>
    
    <html>
    
    <body>
    
    <?php
    
    // 这是单行注释
    
    # 这也是单行注释
    
    /*
    
    这是多行注释块
    
    它横跨了
    
    多行
    
    */
    
    ?>
    
    </body>
    
    </html>

    4、 PHP 中,所有用户定义的函数、类和关键词(例如 ifelseecho 等等)都对大小写不敏感

    5、 PHP 中,所有变量都对大小写敏感

    6PHP 变量规则:

    • 变量以 $ 符号开头,其后是变量的名称
    • 变量名称必须以字母或下划线开头
    • 变量名称不能以数字开头
    • 变量名称只能包含字母数字字符和下划线(A-z0-9 以及 _
    • 变量名称对大小写敏感($y $Y 是两个不同的变量)

     $X,$Y表示变量X和变量Y

    7PHP 有三种不同的变量作用域:

    • local(局部js中的私有作用域
    • global(全局js中的全局作用域
    • static(静态)

    正常情况下,私有变量只能在私有作用域中使用,全局变量只能在全局作用域下使用,函数内容不能直接使用全局变量

    8、PHP global 关键词(global 关键词用于访问函数内的全局变量

    即私有作用域中,在变量前加global关键字即可使用全局变量,如global $x,$y;表示全局变量xy,这时在私有作用域下就可使用全局变量xy的值

    9、PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。index表示变量名

    如:$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];(即全局变量y=全局变量x+全局变量y

    10、PHP中当函数执行完成后,会删除所有变量。如果有时不想删除某个变量,则可在创建变量时使用static关键字,如:static $x=0;

    11、计算字符串的长度  strlen(str)  如字符串中包含空格,则空格也算字符

    12、检索字符串中某个字符的索引位置,用strpos 如:strpos(“xia tian lai le”,”tian”)

    13、定义常量用define(a,b,c)

    define中有三个参数:a表示常量名称

     b表示常量值

     c表示是否对大小写敏感,默认是falsetrue表示对大小写不敏感

    这里所说的对大小写敏感是针对常量名称而言,如常量名称是NAME,当c的值为false的时候,输出name,也不会打印出常量值,如c的值为true,则可以打印出常量值。

    14、建数组

    a) $ary=ary(“str1”,”str2”,”str3”);

    b) $ary=ary(“a”=>”red”,”b”=>”green”);表示a的值是red b的值是green

    输出数组的值用var_dump($ary);

    根据索引输出数组中的值,如 $ary[0],$ary[1],$ary[2]

    关联数组:

    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

    echo “$age[Joe]” 输出43

    15、count()

    输出数组中元素的个数,如count($ary)

    16do  while循环(do while循环至少会执行一次,首先是执行do里边的内容,然后当while中的条件成立时会再次执行do里的内容)

    do{

    }while(){

    }

    17foreach循环

    $ary=array(“a”,”b”,”c”);
    
    foreach($ary as $value){
    echo$value<br>”
    
    }
    $ary1=array("a"=>"red","b"=>"blue","c"=>"green","d"=>"yellow");
    foreach ($ary1 as $x=>$x_value){
            echo "value=$x_value<br>";
    }

    18、form标签中的action用于存放接受表单数据的路径

    指定文件本身来处理表单数据action的路径为

    action="<?php echo $_SERVER['PHP_SELF'];?>"

    19$_REQUEST 用于收集 HTML 表单提交的数据。

    如:$name = $_REQUEST['fname']; 即获取name值为fname的表单值

    echo $name;

    20、$_POST用于methodpost方式提交的表单数据

    如:$name = $_POST['fname']; 即获取name值为fname的表单值

    21、$_GET用于methodget方式提交的表单数据

    如:$name = $_GET['fname']; 即获取name值为fname的表单值

    22、格式化表单内容

    $name = $email = $gender = $comment = $website = "";
    
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
      $name = test_input($_POST["name"]);
    
      $email = test_input($_POST["email"]);
    
      $website = test_input($_POST["website"]);
    
      $comment = test_input($_POST["comment"]);
    
      $gender = test_input($_POST["gender"]);
    
    }
    
    function test_input($data) {
    
      $data = trim($data);//去掉多余的字符(空格、制表符、换行符等)
    
      $data = stripslashes($data);//去掉用户输入内容中的反斜杠
    
      $data = htmlspecialchars($data);//把特殊字符转换为html实体
    
      return $data;
    
    }

    23、表单验证

    24preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false

    <?php
    $name=$email=$nameError=$emailError="";
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        if(empty($_POST["name"])){
            $nameError="name是必填的";
        }else{
            $name=test_input($_POST["name"]);
    
            if(!preg_match("/^[a-zA-z ]*$/",$name)){
            $nameError="name只能是字母或空格";
    }
    
    
        }
        if(empty($_POST["email"])){
            $emailError="email为必填";
        }else{
            $email=test_input($_POST["email"]);
    
            if (!preg_match("/([w-]+@[w-]+.[w-]+)/",$email)) {
    
    // if (!preg_match("/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%
    
        =~_|]/i",$website))检测url
              $emailError = "无效的 email 格式!";
           }
    
    
        }
    }
    function test_input($data){
        $data=trim($data);
        $data=stripslashes($data);
        $data=htmlspecialchars($data);
        return $data;
    }
    ?>
    <form method="post" class="form1" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
        Name: <input type="text" name="name"><span class="error"><?php echo $nameError;?></span><br>
        E-mail: <input type="text" name="email"><span class="error"><?php echo $emailError;?></span><br>
        <div class="btn" style=" 100px;height:30px;line-height: 28px;border-radius:5px;border:1px solid #ccc;text-align: center;">提交</div>
        <input type="submit">
    </form>

    25、数据库连接

    Mysql_connect(servername,username,password)

    三个参数均是可选的,servername是服务器名称,默认为localhost:3306
    $con=mysql_connect(“localhost”,”dong”,”123abc”);

    If(!$con){

    die(“counld not connect ” .mysql_error());

    }

    26、脚本一结束就会关闭连接,如需提前关闭数据库连接,用mysql_close()

        如:mysql_close($con)

    27、echo $m1 = memory_get_usage(); //memory_get_usage()获取当前PHP消耗的内存

  • 相关阅读:
    Servlet访问第一次500,刷新后404的解决办法
    关于eclipse保存代码很慢,提示the user operation is waiting的问题
    编译时,运行时解释
    JDK、JRE、JVM
    IDEA使用maven中tomcat插件启动项目乱码问题
    treeGrid树形数据表格的json数据格式说明
    Maven最佳实践:Maven仓库(转)
    intelliJ idea debug模式下启动慢的原因
    基于 Annotation 拦截的 Spring AOP 权限验证方法
    化繁为简 如何向老婆解释MapReduce?(转载)
  • 原文地址:https://www.cnblogs.com/dongxiaolei/p/6911720.html
Copyright © 2011-2022 走看看