PHP

基础语法规范:

1 <?php 开头 ?>结尾

2 php可以单独存在也可以和html等结合使用

3后缀名一般以.php结尾 php4,php5,php6,php7,phtml.

4 php的配置文件一般为php.ini

开发PHP的环境准备

1.phpstudy 8 版本,php的版本可以随意调整,代码是放在WEB服务器的根目录(document-root),默认首页一般是index.php/index.htm,php的扩展一般为XXX.dll()动态链接库文件。php_mysql.dll 是php的mysql扩展。

2.安装编辑工具:sublime text3 ,notepad++,vs code,phpstorm

sublime 安装之后需要配置编译环境。

echo 打印

phpinfo();php函数负责显示当前环境设置

定义变量:$变量名

以$符号开头 后跟变量名

变量名必须是以字母或者下划线开始

变量名中只能有字母,数字以及下划线,不能有空格,区分大小写。

如何判断数据类型:var_dump()

注释:

//单行注释

/* */多行注释

sublime 中添加注释:ctrl+shift+/ or ctrl+/

php打印方式:

echo/echo() 输出一个或者多个字符串,没有返回值。

print/print() 只能输出一个字符串,返回值是1。

echo的打印速度比print快,echo打印出来的字符串中可以有HTML代码。

php的数据类型

string 字符串 " " or ' ' 。

int 整数,是[0-9]之间的数字组合,整数里没有逗号和空格,也没小数;有正负之分,格式: 十进制,十六进制(0x开头[0-f]),八进制(0 开头[0-7])

float 带小数的数字或者指数形式3.1415 or 2.4e4 or 5e-10 or 5*10^-10

bool true和false

array 数组$array=array("icq",123,true);

null 表示变量没有值,可以使用null去清空数据。

$test="icq";$test=null;

object 对象,必须先声明,使用class关键词去声明对象,对象中可有属性,方式。如果要是用这个类,需要new,然后再去使用其中的属性或方式。

php常量

变量:用来存储信息的空间大小 $var

常量:定义之后不可更改,标识符,并且给其赋值,常量是全局变量,在整个页面中均可以使用,常量一般有英文字母,下划线,数字组成,开头不是数字和$

使用define(常量的key,常量的value)定义。define(number,2)

true/false:大小写问题,true->大小写不敏感,默认是true

define(str,"icq");

echo STR;//不能打印icq

define(str,"icq",true);

echo STR;//可以打印icq

条件判断:

if(条件){条件为真时执行的代码;}

if(条件){条件成立时执行的代码;}else{条件不成立时执行的代码}

if(条件){}else if{}elseif{}else{}

switch(){

case 1:

break;

case 2:

break;

default:

break;

}

for循环

for(;;){}

foreach()遍历数组

<?php

$array=array("one","two","three","four","five");

foreach($array as $value){

echo $value."\n\n";

}

?>

键值对型

<?php

$array=array("one"=>1,"two"=>2,"three"=>3,"four"=>true,"five"=>null);

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

echo $key." is ".$value."\n";

}

?>

while循环

do while 循环

<?php

$i=1;

/*while ($i<=10){

echo "Number is:".$i."\n";

$i++;

}*/

do {

echo "Number is ".$i."\n";

$i++;

}

while($i<10)

?>

数组:在单个变量中存储多种类型的值,类型:数值型数组,关联型数组=键值对型数组,多维数组。

print_r();打印数组。

$array=array("1",123,1.24,true);

$array=array("k1"=>value1,"k2"=value2);

$array=array(array(1,2,3),array(3,4,5),array(6,7,8));

数字型数组的下标是从0开始,长度使用count()函数计算,遍历数组使用for/foreach();

关联型数组的下标是键,k1,k2,遍历数组使用for/foreach

数组的排序:

sort()升序

rsort()降序

asort()针对关联型数组的值,升序

ksort()针对关联型数组的键,升序

arsort()针对关联型数组的值,降序

krsort()针对关联型数组的键,降序

超级全局变量

$GLOBALS //包含全部全局变量的全局组合数组

$_SERVER //包含请求头中信息,用户的ip,用户UA,头信息。

$_REQUEST //包含用户提交的所有数据(POST/GET/COOKIE等)

$_POST //包含用户POST方式发过来的数据。

$_GET //包含用户GET方式发过来的数据。

$_FILES //包含用户发送过来的文件对应的数据

$_ENV //包含服务端环境变量的数据

$_COOKIE //包含COOKIE中的数据

$_SESSION //包含了session中的数据

cookie和session的比较;

1 cookie是存放在用户的浏览器中,是服务端通过返回包中set-cookie来设置,cookie表示用户的浏览器和服务器之间的会话状态,登录成功之后方可获取cookie数据,该数据一般情况下是具有时效性的,失效之后需要用户重新去登录。有了cookie数据之后用户的每次请求都会带上cookie,服务器端会验证该cookie的合法性和时效性,cookie的发送需要遵循浏览器的同源策略;

2session

有意义的常量(预定常量)

__LINE__ 行号

__FILE__ 当前路径的文件名

__DIR__当前文件的路径

__FUNCTION__当前定义的函数名

__CLASS__当前类名

PHP函数:有参 无参

调用函数时,函数名(),注意如果需要给参数,则需要在()中输入参数,个数要满足其要求

需要在函数中有返回值,需要使用return

PHP面向对象

C面向过程,C++ C# Java php python 等面向对象。

对象:对于某些事物的一种描述,代表整体上的一种概念,对现实世界的一种抽象,具有行为形态表示三种特性。

面向对象中常用的概念:

类:对于某些事物的一种抽象,它包含事物形态,行为等

对象:是类的实例,人类(亚洲人对象) 狗类(哈士奇)

成员变量:对象的属性特征,哈士奇:外形像狼

成员函数:对象的某种行为,哈士奇:拆家。

构造函数:主要用来创建对象时初始化对象,为成员变量赋初始值.也就意味着在new对象时用到该函数,该函数需要定义在类中:__construct(参数)

析构函数:

类的定义:

class className{

定义类的变量和函数

}

创建对象:new 对象,类的实例化,使用new

调用成员方法: ->

this 表示当前类,类中有变量和函数,要使用这些变量和函数,$this->变量名,$this->函数名.

表单处理:

服务器接收用户发过来的数据的方式:

$_GET 接受用户以GET方式发过来的数据

$_POST 接受用户以POST方式发过来的数据

$_COOKIE 接收用户的cookie

$_REQUEST 接收用户发过来的数据get或post

htmlspecialchars()实体化编码;结果不会被浏览器解析.

2019.9.27PHP基础的更多相关文章

  1. Cenots7下安装运行.NET Core、MicroSoft SQL Server 2019 preview 的基础实践

    一:概要 适应人群:.Net初学者.想了解.Net Core在Linux系统中的运行环境搭建者.初次且想在linux上应用.Net Core开发应用程序者: 基础技能:了解.NET基础开发技能者.有一 ...

  2. 2019.9.19HTML基础

    html:超文本标记语言,不是编程语言,是标签语言,显示数据. 有双标签和单标签 双标签:有开始有结束,<body></body> 单标签:只有一个.<img src=# ...

  3. 2019寒假算法基础集训营1 - B 小a与"204"

    题目: 小a非常喜欢这个数字,因为. 现在他有一个长度为的序列,其中只含有这三种数字 设为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和) 注意:我们默认 ...

  4. [2019BUAA软件工程]结对编程感想

    结对编程感想 写在前面   本博客为笔者在完成软件工程结对编程任务后对于编程过程.最终得分的一些感想与经验分享.此外笔者还对于本课程的结对编程部分提出了一些建议. Tips Link 作业要求博客 2 ...

  5. [BUAA软工]第二次博客作业---结对编程

    [BUAA软工]结对作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 2019年软件工程基础-结对项目作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能 ...

  6. CV_Learn

    CV学习进度条记录,也是SRTP的进度记录. 阶段一(2019.4-2019.5): 1.opencv简单操作学习.(实现了一些基础操作,从颜色通道到边缘轮廓,2019.4.22完成) 2.linux ...

  7. b站编程课程资源汇总

    b站编程课程资源汇总 一.总结 一句话总结: b站的编程资源很多,而且很良心 二.编程课程资源汇总 b站看到的,分享给大家 https://www.bilibili.com/video/av50680 ...

  8. IT知识圈视频学习资源整理贴

    原文地址 热门课程 1.2019 尚学堂大数据全套视频教程(视频.源码.课件) 2.IDEA破解补丁(支持最新2019.2) 3.2019年 MySQL DBA 6期视频教程 4.微信小程序实战开发特 ...

  9. “全栈2019”113篇Java基础学习资料及总结

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. css中的border-collapse属性如何设置表格边框线?(代码示例)

    css中的border-collapse属性如何设置表格边框线?本篇文章就给大家介绍css中的border-collapse属性是什么? border-collapse属性设置表格边框线的方法.有一定 ...

  2. Appium移动自动化测试(四)之元素定位

    做过UI自动化测试的童鞋都会发现, 在上一篇文章中居然没有万能定位方式Xpath. 是滴, 确实没有! ADT自带的uiautomatorviewer里面并没有属性xpath, 如果我们需要的话,还需 ...

  3. C#连接内存数据库redis【1、安装配置】

    Redis是一个不错的缓存数据库,读取数据速度效率都很不错.今天大家共同研究下redis的用法.结合网上的资料和自己的摸索,先来看下安装与配置把. 咱们主要看在WINDOWS上怎样使用REDIS数据库 ...

  4. MySQL操作符与相关函数

    union(联合)union使用是关联两张表或者两个查询所查出来的数据,联合成一张表但不会出现重复数据,显示的字段必须匹配列数. select s3.id cid,s1.cityName provin ...

  5. 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)

    一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...

  6. Datafactory 学习笔记

    1)插入汉字出现乱码的情况 select userenv('language') from dual: select * from V$NLS_PARAMETERS: 把下面变量名和变量值配置到系统环 ...

  7. Java工程师研发面经大合集

    百度研发面经整合版 软件研发工程师 基础研发工程师 百度智能云 百度核心搜索部 百度今年的提前批有点奇怪,好像都不走流程,牛客上好几个百度内推的帖子,我投了几个,基本上都是百度智能云的,当然也有其他部 ...

  8. group_by和having的用法

    #encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,Float,func,and_,or_,Enum ...

  9. 树莓派4B 串口通信

    提前下载安装Glade图形编辑器 参考 树莓派4B安装netcore 环境部署.发布.执行操作 准备串口设备本文使用串口控制继电器设备 如图 1.发现串口 void GetSerialPort() { ...

  10. HighGo瀚高数据库4.3版本安装说明

    1. 通过与瀚高同事沟通, 获取到安装文件(点赞一下瀚高的同事, 效率很高并且说明的很完整) 瀚高是基于postgresql数据库做的深度定制开发的国产数据库. 不仅仅支持x86 也支持龙芯等全国产安 ...