【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 ...
随机推荐
- ES6-Symbol.iterator 迭代器
一个数据结构只要部署了Symbol.iterator属性就能使用 for...of遍历 与 ...运算符 操作 Object身上没有Symbol.iterator,当直接使用时会报错 let obj ...
- 【redis】redis异常-MISCONF Redis is configured to save RDB snapshots
使用redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis ...
- 使用SolrJ(即java客户端)开发Solr。
1.什么是SolrJ呢? 答:Solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务.开始配置schema ...
- Python传入参数的几种方法
写在前面 Python唯一支持的参数传递方式是『共享传参』(call by sharing) 多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Java的引用类型是这样,基本 ...
- Android App自动化测试实战(基于Python)(三)
1.Native App自动化测试及Appuim框架介绍 android平台提供了一个基于java语言的测试框架uiautomator,它一个测试的Java库,包含了创建UI测试的各种API和执行自动 ...
- 关于Qt 静态成员函数调用信号
class globalCalcThread; extern globalCalcThread *g_calcThread; class globalCalcThread : public QThre ...
- 英语rhodita铑金RHODITA单词
铑金RHODITA,铑属铂系元素.铂系元素几乎完全成单质状态存在,高度分散在各种矿石中,例如原铂矿.硫化镍铜矿.磁铁矿等.铂系元素几乎无例外地共同存在,形成天然合金.在含铂系元素矿石中,通常以铂为主要 ...
- 华为手机 android8.0APP更新时出现安装包解析异常的提示及安装闪退(无反应)问题
在做android app升级更新时遇到几个问题,我用的测试机是华为V10 系统为8.0 一.安装闪退(无反应) 解决办法: 只要在Mainfest.xml 中加入权限编码即可解决 <uses- ...
- bootstrap的表单form
(1)默认表单 <form> <div class="form-group"> <label class="control-label&qu ...
- Swagger从入门到放弃
如何编写基于OpenAPI规范的API文档 简介 Swagger Swagger是一个简单但功能强大的API表达工具.支持的语言种类繁多 使用Swagger生成API,我们可以得到交互式文档,自动生成 ...