【php】day01
一.PHPCORE基础
1.什么是PHP:[Hypertext Preprocessor]
WEB程序开发语言,运行在服务器端
的脚本语言
2.PHP的好处
(1) 代码开源
(2) 支持多种平台(WindowS,Linux等)
(3) 支持多种WEB服务器(Apache,IIS Tomact,Nginx)
(4) 支持多种数据库(Mysql,SQLServer,Orcale等)
3.PHP的安装(windows)
(1)安装apache服务器,WEB服务器只能解析静态页面
(2)安装PHP引擎
a.php-5.4.15-Win32-VC9-x86.zip
免安装解压缩,放到目标安装位置重命名
b.将php.ini-development改为 php.ini
文件名称,作为PHP的配置文件
c.将PHP引擎 和apache绑定
将如下代码写在 conf/http.conf 文件上:
#加载PHP5这个模块,加载路径php5apache2_2.dll所在位置及全称
LoadModule php5_module "D:\php5.4\php5apache2_2.dll"
#加载PHP配置文件所在位置
PHPIniDir "D:\php5.4"
#告诉Apache什么样类型的文件交给PHP引擎处理
AddType application/x-httpd-php .php
(3) PHP原理:如果浏览器请求.php页面,apache服务器
只能静态页面,apache服务器请PHP引擎帮忙 ,PHP
引擎执行动态页面并且将执行后的静态结果给apache
服务器,apache服务器能解析静态页面,响应给客户
端浏览器,最终将结果显示出来
4.PHP的语法结构
(1) XML风格(基本风格)
<?php
...
?>
说明:如果最后是PHP代码 '?>'
结束符可以省略,推荐省略
(2)短风格
<?
...
?>
说明:需要修改 配置文件php.ini
short_open_tag =Off
改为 On 重启apache服务器
(3)asp风格
<%
...
%>
说明:需要修改 配置文件php.ini
asp_tags =Off
改为 On 重启apache服务器
(4)script风格
<script language="php">
...
</script>
5.PHP的文档结构
(1)PHP代码
(2)HTML标记
(3)CSS样式
(4)Javascript ,Jquery
说明:PHP的文档结构,可以有多个PHP语法结构,
并且PHP语法结构 可以放在任意位置上,
每句代码用分号结束
6.PHP注释
(1) #单行注释
(2) //单行注释
(3) /*多行
注释*/
7. 变量(Varible)
1.什么是变量:在内存中有名称的量,并且量在程序
执行中可以改变,也就是说变量临时存放值的容器。
内存: 临时存放当前执行的数据和程序,一旦断电
数据不存在
2.什么时候用变量: 当数据不只一次被用到,那就可以
定义成变量
3.声明变量
$变量名称;
$变量名称=值;
4.变量名称的命名规范
(1)$开始,然后变量名称以字母和下划线开头,
后面包含数字,字母,下划线。
(2)变量名称禁止包含特殊符号,例如 空格
斜杠,反斜杠等特殊符号
(3)变量名称尽量含义明确
(4)变量名称尽量采用驼峰格式
例如: userName UserName
(5)变量名称区分大小写
例如: $test $Test 不是一个变量
(6)变量名称相同,后面的值覆盖前面的值。
5.变量的特殊用法
(1) 多个变量赋相同的值
(2)可变变量
(3)引用变量: &
8.数据类型(8个主要数据类型和4伪类型)
<< 8个主要数据类型
(1)标量类型(存储单一值)
a.整型(Integer Int)
b.浮点型(Float,Double)
c.布尔类型(Boolean Bool)
d.字符类型(String)
(2)复合类型(存储多个值)
a.数组(Array)
b.对象(Object)
(3)特殊类型
a.资源(Resource)
b. NULL
(4)整型(Integer Int)
a. PHP整型:十进制,
二进制(0b开头),
八进制(0开头),
十六进制(0x开头)。
b.整型的最大值与操作系统有关系
PHP_INT_MAX 看最大值,
超出最大值会产生溢出变浮点类型
(5)浮点型(Float,Double)
a.科学计数法( e或 E)
例如: 2.1e2 = 2.1*10^2
2.1e-2 =2.1/(10^2)
b.浮点型最大值与操作系统有关系
最大值1.79*e308
c.PHP中浮点型存近似值,所以不要对
浮点型进行比较
(6)布尔类型(Boolean Bool)
a.只有 TRUE|true真 和 FALSE|false假
两个值
(7)字符类型(String):必须用定界符括起来
a.定界符
(a)单引号(推荐)
(b)双引号
(c)HereDOC(自定义定界符)
(d)NowDOC(自定义定界符)
b.单引号和 双引号的区别
(a)双引号能解析变量,而单引号不解析变量
(b)双引号能解析所有的转义字符,单引号只能
解析 \' 和 \\
c.转义字符(在源码中的特殊符号)
\' 单引号
\" 双引号
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\\ 反斜杠
d.单引号和 双引号的HTML实体和转义字符的使用
(a)W3C规定在浏览器中看到特殊符号必须用
HTML实体,PHP中也必须用HTML实体实现
(b)在源代码中看到的用转义字符,在PHP中
当单引号和 双引号冲突时用转义字符
=======================================
(1) echo :向浏览器输出字符串
echo 字符串;
echo 字符串,字符串,字符串;
echo(字符串); 只能输出一个字符串
(2) 中文乱码
(1) xhmtl中文乱码:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
(2)PHP的中文乱码:
header('Content-Type:text/html;charset=utf-8');
说明:前面不能有任何输出
(3)编辑器的中文编码:
window-Preferences(参数)
-General(基本)-Workspace-utf-8
(3) var_dump :打印出详细信息(值,类型)
var_dump($var,$var2,$var3...);
【php】day01的更多相关文章
- 【正则】day01
正则表达式一.概述 验证 网络爬虫. 概念: 具有语法格式的字符串. 函数 PCRE 1.perl语言正则语法兼容.(java c) 2.速度快,效率高. P ...
- 【转】Python之系统交互(subprocess)
[转]Python之系统交互(subprocess) 本节内容 os与commands模块 subprocess模块 subprocess.Popen类 总结 我们几乎可以在任何操作系统上通过命令行指 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 【原】谈谈对Objective-C中代理模式的误解
[原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
- Python高手之路【三】python基础之函数
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...
随机推荐
- QListWidget QListView QListWidgetItem样式设置
两种方式都可以,一个通用,一个具体 //具体 QListWidget#listWidget_param::Item:hover, QListWidget#listWidget_param::Item: ...
- 工具类docker for k8s
alpine-tools 安装了常用 工具,curl,telnet, wget 等 apiVersion: extensions/v1beta1 kind: Deployment metadata: ...
- MySQL for OPS 07:主从复制
写在前面的话 对于企业而言,在互联网这一块其实最重要的是数据.保证数据的安全性,稳定性是作为运维人的基本工作职责.于是为了数据安全性,引进了数据备份,bin log 等.但这并不意味着有这些就足够了. ...
- .NET Core跨平台部署于Docker(Centos)- 视频教程
(双击全屏播放) 往期教程: .NET开发框架(一)-框架介绍与视频演示 .NET开发框架(二)-框架功能简述 .NET开发框架(三)-高可用服务器端设计 .NET开发框架(四)-服务器IIS实践教程 ...
- RabbitMQ系列(一)rabbitmq简介
------------恢复内容开始------------ 参考:https://www.cnblogs.com/vipstone/p/9275256.html RabbitMQ简介 在介绍Rabb ...
- Markdown 基础学习
Markdown是什么? Markdwon是一种轻量级标记语言,它以纯文本形式(易读.易写.易更改)编写文档,并最终以HTLM格式发布.Markdown也可以理解为将以 MARKDOWN语法编写 ...
- MySQL问题记录——定义timestamp类型的数据
MySQL问题记录——定义timestamp类型的数据 摘要:本文主要记录了在使用MySQL的过程中定义timestamp类型数据时遇到的问题以及解决方案. 问题重现 在Windows环境下安装MyS ...
- jQuery HTML/CSS 方法大全
下表列出了用于操作HTML和CSS的所有方法. 方法 描述 addClass() 向所选元素添加一个或多个类名 after() 在所选元素之后插入内容 append() 在所选元素的末尾插入内容 ap ...
- 解决jmeter进行分布式测试,远程机器来运行脚本,在察看结果树中的响应数据项为空白
下面为大家提供一个解决办法: 第一步:打开主控机的jmeter--bin目录下的jmeter.properties文件 第二步:查找到mode=Standard 项 第三步:将其前边的注释去掉,然后保 ...
- jQuery中的index用法与inArray用法
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...