2019.9.27PHP基础
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基础的更多相关文章
- Cenots7下安装运行.NET Core、MicroSoft SQL Server 2019 preview 的基础实践
一:概要 适应人群:.Net初学者.想了解.Net Core在Linux系统中的运行环境搭建者.初次且想在linux上应用.Net Core开发应用程序者: 基础技能:了解.NET基础开发技能者.有一 ...
- 2019.9.19HTML基础
html:超文本标记语言,不是编程语言,是标签语言,显示数据. 有双标签和单标签 双标签:有开始有结束,<body></body> 单标签:只有一个.<img src=# ...
- 2019寒假算法基础集训营1 - B 小a与"204"
题目: 小a非常喜欢这个数字,因为. 现在他有一个长度为的序列,其中只含有这三种数字 设为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和) 注意:我们默认 ...
- [2019BUAA软件工程]结对编程感想
结对编程感想 写在前面 本博客为笔者在完成软件工程结对编程任务后对于编程过程.最终得分的一些感想与经验分享.此外笔者还对于本课程的结对编程部分提出了一些建议. Tips Link 作业要求博客 2 ...
- [BUAA软工]第二次博客作业---结对编程
[BUAA软工]结对作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 2019年软件工程基础-结对项目作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能 ...
- CV_Learn
CV学习进度条记录,也是SRTP的进度记录. 阶段一(2019.4-2019.5): 1.opencv简单操作学习.(实现了一些基础操作,从颜色通道到边缘轮廓,2019.4.22完成) 2.linux ...
- b站编程课程资源汇总
b站编程课程资源汇总 一.总结 一句话总结: b站的编程资源很多,而且很良心 二.编程课程资源汇总 b站看到的,分享给大家 https://www.bilibili.com/video/av50680 ...
- IT知识圈视频学习资源整理贴
原文地址 热门课程 1.2019 尚学堂大数据全套视频教程(视频.源码.课件) 2.IDEA破解补丁(支持最新2019.2) 3.2019年 MySQL DBA 6期视频教程 4.微信小程序实战开发特 ...
- “全栈2019”113篇Java基础学习资料及总结
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- Redis 分库
Redis 可以分库,相当于 MySQL 中的 database.控制数据库总数在 redis配置文件中设置,默认是 16 个.数据库名称是整数索引标识,而不是由一个数据库名称字符串. 选择数据库用 ...
- 【转】最新版zookeeper配置看这一篇就够了
[From]https://blog.csdn.net/yydriver/article/details/81107954 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载 ...
- php进阶之路 -- 03 命名空间
php进阶之路 -- 03 命名空间 命名空间概述 定义命名空间 空间成员和子空间 空间成员的访问 空间引入 全局空间 一. 命名空间概述 什么是命名空间?从广义上来说,命名空间是一种封装事物的方法. ...
- redhat网卡设置
在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 开始编辑,填写ip地址.子网掩码.网关.DNS等.其中“红框内的信息”是必须得有的. 编 ...
- Django-ORM之ForeignKey的使用-多对一关系
ForeignKey使用俩表示两张表多对一关系的外键,外键字段要定义在多属性的表中. 定义外键时,to的表可以直接写类名,但是需要注意类的定义顺序:也可以写字符串式的类名,这样就可以忽略class类的 ...
- 白盒测试笔记之:Junit 单元测试以及测试覆盖率
单元测试: 单元测试是从代码层面验证代码的正确性. 一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等. Junit入门 参考: Junit 入门教程: https://ww ...
- CentOS7使用阿里云源安装Docker
安装步骤 1.删除已安装的Docker # Uninstall installed docker sudo yum remove docker \ docker-client \ docker-cli ...
- 学习前端D1
第一次写博客,有些小激动,以前写学习的记录都是在有道云笔记上写的,在博客园上更多的是膜拜大佬.偷师学艺.前段时间,我和朋友闲聊时,知道用博客每天写知识会提高学习的热情,这感情好呀,于是乎,今天,我依旧 ...
- logistics多分类
multiclassification #DATASET: https://archive.ics.uci.edu/ml/datasets/Glass+Identificationimport num ...
- 汉诺塔问题的C++实现
有三根杆子A,B,C.A杆上有N个(N>1)穿孔圆环,盘的尺寸由下到上依次变小.要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘:大盘不能叠在小盘上面.如何移?最少要移动多少次? 原理可参 ...