【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 ...
随机推荐
- Java代理类Proxy的用法
代理(proxy) 利用代理可以在运行时创建一个实现了一组给定接口的新类.这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用. 何时使用代理 假设有一个表示接口的Class对象(有可能只包含一 ...
- python Lock、RLock
Lock: 只能acquire一次,下一次acquire必须release后才能,不然会造成死锁 from threading import Lock total = 0 lock = Lock() ...
- SampleDateFormat 高并发下导致 线程 Blocked 从而导致 Tomcat 吞吐一直上不去
SampleDateFormat 高并发下导致 线程 Blocked 从而导致 Tomcat 吞吐一直上不去
- 第二十二节:Asp.Net Core中使用托管服务实现后台任务
1. 说明 BackgroundService 是用于实现长时间运行的 IHostedService 的基类,使用程序集:Microsoft.Extensions.Hosting. 2. 实现方式 继 ...
- Spring Boot 2.0 快速集成整合消息中间件 Kafka
欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site ...
- mysql error 1364 Field doesn't have a default values
https://stackoverflow.com/questions/15438840/mysql-error-1364-field-doesnt-have-a-default-values. us ...
- 如何使用Charles让手机访问PC自定义域名?
需求:移动端访问PC上的自定义域名,如在Nginx上配置的域名 如vv.zzcloud.com这个域名在pc上是通过host映射的方式访问,现在需要在手机上访问到这个域名. 工具:Charles代 ...
- tf.where()函数的解析
tf.where()的使用,该函数会返回满足条件的索引.经验证,发现返回均是二维矩阵,可以说明该函数用二维矩阵给出满足条件的位置索引.(若有错误,欢迎指正.) 代码如下:import tensorfl ...
- js字符串转为数字方法parseInt()、减号、乘号、JSON.parse()、Number()的效率比较
var a = '1'; var b = '0x1'; var runTest = function(timeTag, testFunction) { console.time(timeTag); f ...
- XFS VS EXT4
ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linux系统下的日志文件系统,是ext3文件系统的后继版本ext4的文件系统容量达到1EB ...