【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 ...
随机推荐
- 中国移动明确5G手机入网技术标准:四大要求缺一不可!
原文: https://m.sohu.com/a/355533798_208899?strategyid=00014 日前,中国移动在2020年5G终端产品规划中明确了一系列详细的技术要求,针对明年入 ...
- 手把手教你使用gogs搭建git私有仓库
本来想在 Github 上建一个私仓,但是发现只能设置 3 个贡献者. 国内的码云也只能设置 5 个. 无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干! https://g ...
- linux 文件详细信息
权限列: 权限列中一共 10 个字符,第一个字符代表文件类型,后边9 个字符 3 个为一组表示不同用户的权限: 第一字符表示文件类型: [d]:目录 [-]:普通文件 [l]:连接档 [b]:设备文件 ...
- 【Linux命令】at、crontab定时任务
crontab定时任务(周期性) 一.简介 通过crontab命令可以在固定的间隔执行系统指令或shell脚本 二.crontab配置文件: Linux下的任务调度分为两类:系统任务调度和用户任务调度 ...
- 【Zabbix】zabora批量部署
zabora简化批量部署 目的:简化部署zabora,批量监控数据库的常用指标 1 数据库用户赋权 上传cre_arp_monitor.sh,并且部署用户. [root@oradb ~]# chown ...
- Singnal R 练习参考
项目地址:https://gitee.com/dhclly/IceDog.SignalR/tree/master/src/chat demo的实现均来自官方的教程,教程地址: ASP.NET Core ...
- .NET Core 学习笔记之 WebSocketsSample
1. 服务端 代码如下: Program: using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; namespace WebS ...
- 【转载】什么是NVMe?
什么是NVMe? [转载]什么是NVMe:http://storage.it168.com/a2018/0921/5045/000005045252.shtml NVMe是Non-Volatile M ...
- VS工具箱不显示DEV控件解决方法
VS工具箱中不显示DEV控件解决方法 之前先装vs,再装dev控件,vs工具栏中自动会加载并显示dev相关组件,但是,在更新vs(我用2017版)后,原先安装好的dev控件库不显示在vs的工具栏中了. ...
- C#与vb.net源码代码互转网站
该转换器是印度开发团队推出的,推出时间也挺长,仅支持C#和VB.net代码转换.代码转换地址: C# -> VB.NET http://www.dotnetspider.com/convert ...