最新消息: 新版网站上线了!!!

PHP的语法基础知识

  • ##混合型的数组
    $arr=array("foo" => "bar",12=>true,5=>3);
    echo $arr["foo"];//bar
    echo $arr[12];//1
    echo $arr[5];//3
    #添加
    $arr[]=99;
    echo $arr[13];//99
    $arr["add"]="new";
    echo $arr["add"]//new
    #删除
    unset($arr["foo"]);
    unset($arr);
     
     
    ##对象|类型|常量
    class foo{
    function do_foo(){
    echo "hello";
    }
    }
    $bar = new foo();//实例化一个对象给变量
    $bar->do_foo();//hello
    #类型转对象
    $obj=(object)"rczjp";
    echo $obj->scalar;//rczjp
    #强制类型转换
    $foo=3;
    $bar=(bool)$foo;
    echo $foo;//3
    echo $bar;//1
    #单引号不转义
    echo 'qq$w\nw';//qq$w\nw1
    #定义常量
    define("PI",3.1415926);
    echo PI;//3.1415926
    #操作符,其中连接操作符是点(.),其余的同其他语言
    echo 11==11;//1
    echo 11==="11";//类型不一样,不相等
    echo 11>=.10;//1
     
     
    ##函数
    function fun(){
    print "Hello word!";
    }
    $funvar = "fun";//函数名赋值给变量,此变量就成了这个函数的引用
    /*fun()或者$funvar()调用函数*/
     
     
    ##变量的作用域
    $life=42;
    function meaningOfLife(){
    global $life;//函数内部访问全局变量必须加global
    $life=33;
    print "The meaning of life is $life<br>";
    }
    meaningOfLife();//The meaning of life is 33
    #static
    function numberedHeading($txt){
    static $num_of_calls=0;
    $num_of_calls++;
    print "<h1>$num_of_calls. $txt</h1>";
    }
    numberedHeading("Widgets");//1. Widgets
    numberedHeading("Doodads");//2. Doodads
    /*static类型是常驻内存的*/
     
     
    ##传值与传址(引用)
    //传值
    function addFive($num){
    $num+=5;
    }
    $orignum=10;
    addFive($orignum);
    print $orignum;//10
    //传引用
    function addThree(&$num){
    $num+=3;//因为传递过来的是变量$num的引用,所以改变形参$num的值就是改变变量$oldnum物理内存中保留的值
    }
    $oldnum=10;
    addThree($oldnum);
    print $oldnum;//13
     
     
    ##创建匿名函数
    $my_anonymity=create_function('$a,$b','return $a+$b;');
    print $my_anonymity(11,33);//44
    //判断函数是否存在
    function QQ(){}
    echo function_exists("QQ");//1
     
     
    ##PHP连接MySQL
    $link = mysql_connect('localhost', 'root', 'pwd');
    mysql_select_db("ultrax",$link);//连接数据库
    $sql="Select * From pre_forum_post";
    $result=mysql_query($sql,$link);//增删改查
    //输出结果
    if(mysql_num_rows($result)>0){//记录数
    while($newArray=mysql_fetch_array($result)){
    $pid=$newArray['pid'];
    $fid=$newArray['fid'];
    $tid=$newArray['tid'];
    $author=$newArray['author'];
    $subject=$newArray['subject'];
    $message=$newArray['message'];
    echo $author." ";
    }
    }
    mysql_close($link);//关闭
     
     
    ##获取表单提交的元素值
    $formval=$_POST['txt'];//eg.文本框的name
    echo $formval;
    /*
    直接如上写法,有警告提示 Notice: Undefined index: txt,以下是两种解决方法:
    if(array_key_exists('txt',$_POST)){...}
    if(!empty($_POST['txt'])){...}
    */
    ##获取URL参数的值
    $getval=$_GET['p'];
    echo $getval;
    ##页面跳转
    header("Location:http://www.rczjp.cn");
     
     
    ##字符串操作
    //字符串分割为数组
    $str="1-2-33-44-5-55";
    print_r(explode("-",$str));//Array ( [0] => 1 [1] => 2 [2] => 33 [3] => 44 [4] => 5 [5] => 55 )
    //字符串替换
    print(str_replace("-","=",$str));//1=2=33=44=5=55
     
    ##session
    session_start();//打开session或者在PHP.ini里面配置session.auto_start 将0修改成1(启用),这样就不必每次都调用这个函数打开
    $_SESSION['uname']="QinMi";//赋值
    $sessionval=$_SESSION['uname'];//获取
    session_destroy();//销毁session
     
     
     
    最后附加说明,最好使用 <?php ?>而不是<? ?>这种短标签的形式,当PHP.ini配置中short_open_tag没有打开的时候就不可以使用。
  •  

转载请注明:谷谷点程序 » PHP的语法基础知识