admin管理员组

文章数量:1794759

PHP之基础入门

PHP之基础入门

PHP

Php全称为:Hypertext Preprocessor(中文名:超文本预处理器);

简称:personal Home page;

开始php之前,要先设置它的文件编码信

header(‘Content-type:text/html;charset=utf-8’);

Php注释:

单行://

多行:/**/;

php代码要运行在服务器上。

1.为php声明一个变量

php声明变量的时候需要使用$符号;

php的变量在被赋值的时候就被声明,并同时确定了类型;

使用变量可以直接调取其变量名。

双引号里出现变量名,则会把它当做一个变量使用(获取变量值)。

单引号里出现变量名,会将变量名做为一个字符串。

  • 在php里,字符串与字符串的拼接用 . 这个符号来拼接。
  • php的变量命名规则:
  • 要用$符号,后面紧跟变量名。
  • 只能以数字、字母、下划线构成。
  • 不能以数字开头。
  • 区分大小写。
  • php的输出:

    (1)echo:

            echo(‘输出内容’);

    echo‘输出内容’,‘多个输出’;

    (2)print:

            print(‘输出内容’);

            print‘输出内内容’;

            print 只能输出一个字符串

    (3)echo的输出速度要比print的输出速度要快,并且print有一个返回值为1,echo没有返回值。

  • var_dump();
  • 输出数据的具体信以及数据。以及类型,数组将递归展开,通过缩进显示其结构。

    此函数显示关于一个或者多个表达式的结构信,包括表达式的类型和值。数组将递归展开值,通过缩进显示其结构。

    php的数据类型:

    string 字符串

    integer 整型

    float 浮点

    Boolean 布尔

    Array 数组

    Object 对象

    Null 对象

    Php获取数据的类型 gettype(数据);

    6.php数据类型的转换

    在被转换的变量前加(int)整数、(float)浮点、(bool)布尔类型、(array)数组、(object)对象、(string)字符串。

    7.php数组

    索引数组:

    $arr = [0,1,2,3,4];或者$arr = array(‘a’,’b’’c’);

    取索引数组的值为 $arr[index(下标)];

     关联数组

    $arr = array(‘name’ => ‘小明’,‘age’=>18);

    关联数组取值为:$arr[‘key’];

    在php中 echo 和print 不能输出数组,只有var_dump可以。

    8.常量

    常量是在代码结构中,值不能被更改的量。

    Php中声明常量需要用到define函数

    常量的命名规则只能由数字、字母、下划线构成,且不能以数字开头

    第三个参数是一个布尔类型的值:true,false;决定是否让该常量名大小写敏感。True,不敏感。 False:敏感。默认为false敏感。

    9.流程控制语句

    php的流程控制语句,分支和循环。

    (1)分支

     if( ){}

    if(){}else{}

          

    (2)循环

    php中获取索引数组的长度,用count函数。

    $arr = [‘1’,’2’,’3’];

    for($a = 0;$a

             echo $arr[$a];

    }

     (3)遍历关联数组

    变量php里关联数组的话,需要用到foreach循环

    foreach($arr as $key => $value){

           $key:$arr 数组中的每个元素的键

           $value:$arr数组中每个元素的值

    }

     (4)

    php可以在不同的平台上运行(windows、linux、unix、mac、osx等);

    php与目前几乎所有的正在被使用的服务器相兼容(Apache、IIs等);

    php提供了广泛的数据库支持

    php易于学习,并可高效的运行在服务器端。

    10.运算符

    (1)算数运算符

    算数运算符

    * x+y 加

    * x-y 减

    * x*y 乘

    * x/y 除

    * x % y取余

    * -x取反

    * a.b 并置(连接两个字符串)

    * 加运算的特殊情况:

    * 字符串和数字(int(整型),float(小数))相加直接返回数字的值。

    * 字符串和boolean类型相加,返回该布尔值代表的数字值。

    * 数字和布尔类型相加,将布尔类型转化为数字,再与其相加。false为0,true为1;

    * 字符串与字符串相加,结果为0;

    减运算的特殊情况:

    字符串与数字做减运算,返回数字与数字前面紧挨的运算符。

    字符串与字符相减为0;

    字符串与布尔类型做减法,返回的是布尔类型转化为数字的值与布尔类型前面紧挨着的运算符;(0和-0)结果都为0;

    乘法的特殊情况:

    字符串与任何类型的值做乘法运算结果都为0;

     数字与布尔类型相乘 将布尔类型转化为数字再进行相乘。      

    除法的特殊情况:

    字符串和布尔的false不能作为被除数,其次字符串除以数字、布尔(true)类型的数结果都为0;

    并置(.),链接两个值:

    布尔类型参与并置,将true转化为数字1,再进行并置。false不显示,只显示后面并置。

      赋值运算符

       $x = y 将y的值赋值给x;

       $x+=y 等于$x=x-y;

       $x-=y 等于$x=x-y;

       $x*=y 等于$x=x*y;

       $x/=y 等于$x=x/y;

       $x%=y 等于$x=x%y;

       $a.=b 等于$a=a.b;

       递增、递减运算符

       ++x x加1,然后返回x

       x++ 返回x,然后x加1

       --x x减1,然后返回x

       x-- 返回x,然后x-1;

       比较运算符结构的输出:

       如果比较结果为true,echo 输出得到1,false 什么都没有。

       如果var_dump输出,输出的是布尔类型的值,输出的是true 和 false;

        != 只比较数值 

      !==  要比较类型和数值

    11.字符串

           strlen 返回字符串的长度

          

     str_replace($str1,$str2,$str);替换字符串

    将$str中的所有$str1都替换成$str2,并返回一个新的字符串,不会对$str本身有任何变化。

     

    str_split($str,len);将字符串$str转化成索引数组,得到一个返回值,原来的$str本身不会发生变化。

    Len:为可选参数,默认值为1,单个字符截取一次,int型的数值,决定截取单个元素的长度。

          

     explode(‘截取字符串’,$strm,length);按照指定字符截取字符串并返回一个索引数组。

    将$str按照要截取的字符串截取成一个数组。其中length是一个可选参数(可选参数决定explode函数返回的数组的个数(会影响截取方式 ));

    substr($str,$start,$par3)字符串的截取。

    $str,要截取的目标字符串。

    $start:不管正数还是负数,都代表你 要开始截取的位置(可以为负数,为负数代表从后往前数的位置,要从-1开始,没有0);

    $par3为正代表截取长度,为负数代表从后往前数的位置,即截取的结束位置(不包含此位置);

    trim()函数从字符串的两端操作字符串。

    Ltrim()从字符串的左端开始操作字符串

    Rtrim();从字符串的右端开始操作字符串。

    字符串转换大小写

    strtolower() 将字符串中的大写字母转换成小写字母

    strtoupper() 将字符串中的小写字母转换成大写字母

    12.php函数

          

    (1)php函数有形参,但是调用函数未传参的话会有错误警告。

    当一个函数调用完毕之后,函数内部的局部变量也会被删除,如果代码需要这个变量依旧保存的话,需要使用static关键词。

     

    (2)在php里如果要在函数的内部访问函数外部的全局变量,则需要加上global关键字。

    13.前端对于后台的数据传递

    前端对于后台有两种数据传递($_post , $GET),针对这两种数据传递,分装两个函数来接收不同的数据(传递方式不同,数据内容则也不同);

    超全局变量:

    可以根据前端的请求方式的不同,用超全局变量接收数据。

    前端from提交设置:

     

    action 为php的文件路径

    method :为提交数据的方式

    enctype:数据格式。

    14.php文件操作

    readfile(地址)读取文件并将它输出,返回读取到的文档中的字符串长度。

    Readfile(‘fill_cons’.html);

     

    fopen($filepath,$mode);

    以指定的方式($mode,参考值见文档)打开路径为filepath的文件

     

    fclose($file);关闭文件

    $file:指的是用fopen打开的文件;

    fgets($handle,$len);逐行读取文件

    $handle:打开文件路径,$len:为读取文件的长度,单位是字节。

    //文件操作代码

    feof($file);检测是否已经到达文件底部,如果到达就返回true;

    完整读取文件如下:

    15.写入文件

    r+:以读写的方式打开文件,指针指向文件头部。

    Fwrite($file,$content);

    $file:要进行写操作的文件

    $content:要向文件中写入的内容。

     

           A+:

           以读写的方式打开文件,指针指向文件末尾,如果文件不存在,则会创建文件。

           双引号中的代码会执行,单引号中的代码只代表字符串。

    16.ajax

    (1)什么是ajax ?

    全称Asynchronous Javascript XML (存储和传输数据的一种语言);

    动态的局部刷新页面内容的技术。

    当页面的在入流关闭之后,ajax为我们提供了额外的数据请求,在不刷新页面的情况下刷新局部数据。

    (2)创建ajax;

    var ajax;//创建ajax;

          

    if(window.XMLHttpRequest){ //IE7 以上,及市场的主流浏览器 ajax = new XMLHttpRequest( ); }else{        //IE5,IE6        ajax = new ActiveXobject( ); }

    (3)异步的get类型的ajax,  

         ajax.open( ‘GET’,‘new_file.php’ );//open接收三个值。        Ajax.send( );        Ajax.onreadystatechange = function( ){               }

    (4)异步的get类型ajax 发送数据

    ajax.open(‘GET’,’new_file.php?name=ben&pswd=545454’); ajax.send(); ajax.onreadystatechange = function(){ //ajax.redyState(0~4) ajax.status(200,404);                      if(ajax.redyState == 4 && ajax.status == 200){        //接收数据,做处理        console.log(ajax.responseText); }                      }

    (5)同步的ajax

    ajax.open(‘GET’,’new_file.php?name=ben&pswd=545454’); Ajax.send( ); //接收数据,做处理 console.log( ajax. responseText);

                        

    (6) 异步的post

    ajax.open(‘POST’,’路径’);//接收三个参数(类型,路径,布尔值)

              

    //设置请求头,要在send请求前。

    ajax.setRequestHeader('Content-type','application/x-www-form-urlencoded');

    //然后post把要发送给后台的数据传给send函数

    ajax.send( ‘数据’);

    //然后再进行函数判断

    ajax.onreadystatechange = function(){

    if(ajax.redyState == 4 && ajax.status == 200){

    //接收数据,做处理

    console.log(ajax.responseText);

    }

    }

    17.jquer 的ajax请求 //type默认为get

           (1)

           $.get({

                  type:“get”,

                  url:”new_file.php”,

                  data:’数据’,

                  data:{

           name:’’,

           pswd:45645646,

           tel:564654564

    },

    success:function(res){

           //请求成功的函数:res:ajax.responseText;

    },

    error:function(){

           //请求失败的函数

    }

    });

    18.get用jquery 的简写形式

           //第一个为路径,第二个为回调函数

           $get(‘路径’,‘数据’,function(red){

                  console.log(res);

    })

    19.post用juery的简写形式

           .//请求的路径,数据,回调函数

           var data = {

                  数据

    }

    $post(‘路径’,data,‘回调函数’){

           //代码

    }

    //注意:

    post请求和get请求的区别

  • post要比get请求安全。
  • get对参数列表的拼接有长度限制(因为游览器对url长度限制)
  • post 与 get 都可以单独写出数据,然后发送。格式整齐。
  • 本文标签: 入门基础PHP