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. numpy之数组计算

    # coding=utf-8import numpy as npimport random #数组和数字计算,进行广播计算,包括加减乘除 t8 = t8 +2 print(t8,t8.dtype,t8 ...

  2. 小D课堂 - 新版本微服务springcloud+Docker教程_2_03常见的微服务框架

    笔记 3.常见的微服务框架     简介:讲解常用的微服务框架 consumer: 调用方         provider: 被调用方         一个接口一般都会充当两个角色(不是同时充当) ...

  3. IOS input框轻点无效修复方法

    FastClick.prototype.focus = function(targetElement) { targetElement.focus();//加入这一句话就OK了 };

  4. 只含有一个Excel模板的工程发布问题

    遇到这样一个问题,某个项目不是dynamic web project,也不是java工程,里面只有一个Excel模板,这样的话,不能打成war包和jar包,不能通过eclipse发布至Tomcat,但 ...

  5. windows修复失效图标

    taskkill /im explorer.exe /fcd /d %userprofile%\appdata\localdel iconcache.db /astart explorer.exeex ...

  6. Xcode8.1 真机测试 ,添加iOS10.3的idk到Xcode8.1中

    1.下载iOS10.3的idk包; 2.解压, 找到路径 Finder -> 应用程序 -> 右键Xcode -> 显示包内容 -> Contents -> Develo ...

  7. shell脚本安装python、pip--这种写法是错误的---每一个命令执行完都要判断是否执行成功,否则无法进行下一步

    shell脚本安装python.pip--不需要选择安装项目--不管用总报错,必须带上判断符号,while没有这种用法,写在这里为了以后少走弯路,所以不要用下面的执行了 首先把pip-.tgz 安装包 ...

  8. 使用URLOS 五分钟安装rTorrent (轻量级优秀BT/PT客户端)

    rTorrent是一个非常简洁.优秀.非常轻量的BT客户端,它使用ncurses库以C++编写,将 rTorrent 用在安装有 GNU Screen 和 Secure Shell 的低端系统上作为远 ...

  9. 应用安全 - 工具|平台 - Elasticsearch- 漏洞 - 汇总

    未授权访问 (1)/_cat/indices #Index个数查询 (2)/_mapping?pretty=true #type个数查询 (3)根据Index和type查询表数据 (4)/_river ...

  10. ubuntu服务器上用Nginx和Uwsgi部署django项目

    开发环境:ubuntu系统,python3环境 django项目目录: fast_foot 为项目根目录,app为项目应用 现在,我们登陆远程服务器 安装Nginx 安装好了,我们看一下nginx的配 ...