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(下标)];

a4349e111e3840a1a31268ef9c9aba2e.png


关联数组


$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];
}

149ddcab03f04cf293c63e6b2c39fd9f.png


(3)遍历关联数组


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

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

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

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

}


281f7b62e441471ca950e3eee0a12331.png


(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 返回字符串的长度

224e0ffbfd5f4a25951d9c33bde28290.png

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

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

a6bebce63953484482c87e923061a841.png

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

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

982b37aa2c2840a997ca52f45dbaa484.png

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


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


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


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


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


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

6304b972ebe54137872b185d6cdc16cb.png

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


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


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


字符串转换大小写


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


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


12.php函数

     

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

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

2787782142d64733aaa603137d393f16.png

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

f7e04ad956bb437b8d554bba6075e6f9.png


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


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

超全局变量:


6987c8b3eaae4ab2a89f0af348858c6c.png

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

1137450212cd40c2b5a498355218fb1f.png

前端from提交设置:

 

action 为php的文件路径

method :为提交数据的方式

enctype:数据格式。


14.php文件操作


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

Readfile(‘fill_cons’.html);

1a421a645b534e5884d4ac0232570142.png

fopen($filepath,$mode);

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

4d1194f1a3d44c53ae43c04e2210d4a9.png

fclose($file);关闭文件


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


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


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


//文件操作代码


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


完整读取文件如下:

054e44d88c104ec8a0fdbc736f421e44.png


15.写入文件


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

Fwrite($file,$content);

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

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

1b0447bb625741da9cd9777296e621b6.png

     A+:

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

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

40335ffdec83428c9696dca7115defde.png


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请求的区别


  1. post要比get请求安全。
  2. get对参数列表的拼接有长度限制(因为游览器对url长度限制)
  3. post 与 get 都可以单独写出数据,然后发送。格式整齐。


目录
相关文章
|
3月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
15天前
|
PHP
PHP中的面向对象编程入门
在PHP的海洋里,面向对象编程(OOP)是一艘承载着代码复用与组织之美的巨轮。本文将带你启航,从基础概念到实际应用,领略类与对象的风采,掌握封装、继承、多态三大奥义。准备好你的航海图,让我们揭开PHP OOP的神秘面纱,驶向高效编程的彼岸。
|
3月前
|
PHP 开发者
PHP中的面向对象编程:从入门到精通
【9月更文挑战第27天】在这篇文章中,我们将一起探索PHP中的面向对象编程(OOP)的美妙世界。我们将从基础的概念和语法开始,然后深入到更高级的主题,如继承、多态和封装。无论你是PHP新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起踏上这段旅程,发现PHP OOP的强大功能吧!
44 8
|
1月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
43 3
01 入门PHP就来我这-安装phpstudy
|
1月前
|
安全 关系型数据库 PHP
探索PHP:从入门到精通
【10月更文挑战第38天】在这篇文章中,我们将一起踏上PHP的探索之旅。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和技巧。我们将从PHP的基础开始,逐步深入到更复杂的主题,包括面向对象编程、数据库操作、安全性问题等。最后,我们将通过一些实用的代码示例,来展示PHP的强大功能和灵活性。让我们一起开始这段旅程吧!
13 2
|
1月前
|
存储 Serverless PHP
PHP编程入门:从基础到实战
【10月更文挑战第35天】本文将带你走进PHP的世界,从最基本的语法开始,逐步深入到实际应用。我们将通过简单易懂的语言和实际代码示例,让你快速掌握PHP编程的基础知识。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到你需要的内容。让我们一起探索PHP的魅力吧!
|
2月前
|
PHP 开发者
PHP中的异常处理:从入门到精通####
本文将深入浅出地探讨PHP中的异常处理机制,包括异常的基本概念、如何抛出与捕获异常、自定义异常类以及最佳实践。无论你是PHP新手还是经验丰富的开发者,都能从中学到实用的知识,帮助你编写更健壮的代码。 --- ####
|
1月前
|
自然语言处理 关系型数据库 MySQL
PHP编程入门:构建你的第一个网页应用
【10月更文挑战第29天】本文旨在引导初学者步入PHP编程的世界,通过深入浅出的方式介绍PHP的基础知识,并指导读者如何动手实践,搭建一个简单的网页应用。文章不仅涉及PHP代码的编写,还包括了环境配置、项目结构设计以及前后端交互的基本概念。适合对Web开发感兴趣且希望快速入门的朋友阅读。
47 0
|
3月前
|
前端开发 PHP 数据库
PHP编程入门:从基础到实战
【9月更文挑战第23天】本文将引导你进入PHP编程的世界,从基础知识到实际项目应用,逐步深入。我们将一起探索PHP的基本语法、常用函数和框架使用,以及如何在实际项目中运用PHP进行开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上PHP编程的学习之旅吧!
|
3月前
|
SQL 安全 Java
PHP编程之美:从入门到精通
【9月更文挑战第18天】在这篇文章中,我们将一起探索PHP编程语言的魅力和力量。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。我们将从PHP的基本概念开始,然后深入到更复杂的主题,如面向对象编程、数据库交互和安全性等。最后,我们将通过一些实用的代码示例来巩固我们的知识。让我们一起开始这段旅程吧!
42 4