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. flutter shared_preferences 异步变同步

    前言 在开发原生iOS或Native应用时,一般有判断上一次安装的版本和当前版本是否是同一个版本,如果不是同一个版本,则要显示引导页,这个过程是把版本号持久化存储起来,在每一次启动时进行判断,这个过程 ...

  2. MyBatis Mapper Demo

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  3. Mybaits-Maven项目之逆向工程(代码自动生成)

    1.添加maven插件,让maven环境支持mybatis-generator组件 在pom.xml里面添加如下代码: <project xmlns="http://maven.apa ...

  4. OpenStack 高性能虚拟机之大页内存

    目录 文章目录 目录 前文列表 虚拟存储器系统 页式虚拟存储器 大页内存 Linux 的大页内存 大页的实现原理 大页内存配置 透明巨型页 THP 大页面对内存的影响 Nova 虚拟机的大页内存设置 ...

  5. React的Sass配置

    React提供的脚手架creact-react-app创建的工程文件不像vue那种暴露出webpack来,所以添加依赖需要拐个弯. 为了配置sass需要按以下步骤进行: 一.安装sass-loader ...

  6. java源码-HashMap源码分析

    这次开始分析JDK8中的HashMap源码. 首先理解HashMap中几个关键变量, TREEIFY_THRESHOLD  链表转换红黑树扩容值 table 数组+链表+红黑树  size 当前存储数 ...

  7. shader飞线改进版

    项目github地址:https://github.com/ecojust/flyline 前面写过一个飞线(基于THREE.Line进行的颜色变化),只是简单地将可视区片元颜色的alpha通道值设为 ...

  8. Python:Base2(List和Tuple类型, 条件判断和循环,Dict和Set类型)

    1.Python创建list: Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: &g ...

  9. JavaScript基础入门05

    目录 JavaScript 基础入门05 严格模式 严格模式的设计目的 如何开启使用严格模式 显式报错 字符串 字符串的创建 字符串实例方法之常用API JavaScript 基础入门05 严格模式 ...

  10. ASP.NET(C#) 使用 SqlBulkCopy 实现批量插入SQL(快捷简单)

    业务需要,系统在处理数据时,每暂存一列数据将他插入到右侧的表格中,再执行批量保存,如图所示: //以前的做法可能是生成一堆 insert into xx values xxx 的sql语句,在程序中去 ...