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. Redis 分库

    Redis 可以分库,相当于 MySQL 中的 database.控制数据库总数在 redis配置文件中设置,默认是 16 个.数据库名称是整数索引标识,而不是由一个数据库名称字符串. 选择数据库用 ...

  2. 【转】最新版zookeeper配置看这一篇就够了

    [From]https://blog.csdn.net/yydriver/article/details/81107954 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载 ...

  3. php进阶之路 -- 03 命名空间

    php进阶之路 -- 03 命名空间 命名空间概述 定义命名空间 空间成员和子空间 空间成员的访问 空间引入 全局空间 一. 命名空间概述 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法. ...

  4. redhat网卡设置

    在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0   开始编辑,填写ip地址.子网掩码.网关.DNS等.其中“红框内的信息”是必须得有的.   编 ...

  5. Django-ORM之ForeignKey的使用-多对一关系

    ForeignKey使用俩表示两张表多对一关系的外键,外键字段要定义在多属性的表中. 定义外键时,to的表可以直接写类名,但是需要注意类的定义顺序:也可以写字符串式的类名,这样就可以忽略class类的 ...

  6. 白盒测试笔记之:Junit 单元测试以及测试覆盖率

    单元测试: 单元测试是从代码层面验证代码的正确性. 一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等. ​ Junit入门  参考: Junit 入门教程: https://ww ...

  7. CentOS7使用阿里云源安装Docker

    安装步骤 1.删除已安装的Docker # Uninstall installed docker sudo yum remove docker \ docker-client \ docker-cli ...

  8. 学习前端D1

    第一次写博客,有些小激动,以前写学习的记录都是在有道云笔记上写的,在博客园上更多的是膜拜大佬.偷师学艺.前段时间,我和朋友闲聊时,知道用博客每天写知识会提高学习的热情,这感情好呀,于是乎,今天,我依旧 ...

  9. logistics多分类

    multiclassification #DATASET: https://archive.ics.uci.edu/ml/datasets/Glass+Identificationimport num ...

  10. 汉诺塔问题的C++实现

    有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘:大盘不能叠在小盘上面.如何移?最少要移动多少次? 原理可参 ...