十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1. php嵌入到html中的方式:
创新互联是一家专业提供丹凤企业网站建设,专注与成都网站建设、网站制作、H5高端网站建设、小程序制作等业务。10年已为丹凤众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
*1.标准风格(推荐)
2.....长风格
3.短风格 需要在php.ini配置文件中开启short_open_tag选项才可以。
4. % ... % 兼容ASP风格(默认不支持) 需要在php.ini配置文件中开启asp_tags选项才可以。
2. 在php中每条语句使用分号结束的。也就是分号是php语句之间的分割符。
注意: 在每个脚本中,最后一条语句后可以没有分号结束。
*3. 在php中注释(3种):// 单行注释 (来自其他程序中的注释)# 单行注释 (来自脚本程序的注释)/* ... */ 多行注释 注意:不可以嵌套使用。 /** .... */ 文档注释*
4. 变量php是一个弱类型语言。变量的命名规范:变量是以$符开始定义的,变量名的规则:由字母、数字、下划线构成,不可以使用数字开头。在php中变量名是区分大小写
5. 变量的类型:(8种)*在php中共计有8种基本数据类型:4种标量类型:整数(int)、浮点数(float/double)、布尔值(boolean)、字串(string)2种复合类型:数组(array)、 对象(object)2种特殊类型:资源(resource)、 空(NULL)其中:对象和资源类型属于引用类型,其他都属于值类型。
5.1 整型:int类型php的整型是占4个字节(32位)的。而且是没有无负号储存值:-2147483648~21474836475.2 浮点数:(不区分单精度和双精度,统一占8个字节)定义:$d1 = 12.5;$d2 = 0.1e3; //100
5.3 布尔值:(真true和假false)当转换为 boolean 时,以下值被认为是 FALSE: 布尔值 FALSE 自身 *整型值 0 (零) *浮点型值 0.0 (零) *空""字符串, 以及 字符串 "0" *不包括任何元素的数组 不包括任何成员变量的对象(仅PHP 4.0 适用) *特殊类型 NULL (包括尚未设定的变量) 从没有任何标记(tags)的XML文档生成的SimpleXML 对象
5.4 字符串(string)在php中字串的定义方式:单引号: ' ' 不支持变量解析, 支持单引号'和\的转义。双引号: " " 支持变量解析,为了兼容使用{}将变量括起来。支持转义: \n \s \t \r \" \\ \$定界符: 注意接收符的使用
5.5 数组array一个变量中可以储存多个值。数组分为:关联式数组和索引式数组 //定义: $a = array(10,20,30,40);//使用:echo $a[1]; //输出:20
5.6 对象:
5.7 资源:
5.8 null;
6. 类型转换问题:
6.1 布尔值/null:true在算术计算中可以自动转成数值1;false在算术计算中可以自动转成数值0;null在算术计算中可以自动转成数值0;直接输出true的值:1 false和null是没有输出结果
6.2 字串类型的转换字串在算术计算中可以自动转成数值:
规则:从字串前面开始找最大的数字即为数值"123abc" = 123"abc123" = 0"12a8c3" = 12"abcd" = 0"12.4bd" = 12.4"12e4abc"= 12e47.
常量定义: 常量:一定义赋值后,不可以再次修改和销毁的量,成为常量特点: 在后面的所有程序中都可使用(对象中,函数内....)
格式:define(常量名,值[,bool]);如: define("PI",3.14);使用: echo PI;
要求: 常量名必须全部大写
目的:1.便于记忆 2. 便于理解
系统中常用常量:
echo "当前系统: PHP_OS
echo "PHP版本: PHP_VERSION
echo "当前文件名:__FILE__
echo "当前行号: __LINE__
echo "当前所在文件夹:__DIR__
get_defined_constants() 获取PHP中所有常量
常用函数:
gettype();获取一个变量的类型
*unset(); 销毁一个变量
*isset(); 判断一个变量是否存在
*empty(); 判断一个变量是否不存在。
*var_dump(); 格式化输出指定变量信息(包含类型)
is_bool():判断是否是布尔型
is_int()、
is_integer()和is_long():判断是否为整型。
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
*is_array():判断是否为数组
*is_object():判断是否为对象
s_resource():判断是否为资源类型
is_null():判断是否为null
is_scalar():判断是否为标量
*is_numeric():判断是否是任何类型的数字和数字字符串
is_callable():判断是否是有效的函数名计算机的位的换算1T=1024G 1G=1024MB 1MB=1024KB 1KB = 1024B(字节) 1B(字节)=8b(位)二进制:0000 0000~1111 1111 十进制:-128~127
php有8种数据类型:
四种标量类型:
boolean (布尔型)
integer (整型)
float (浮点型, 也称作 double)
string (字符串)
两种复合类型:
array (数组)
object (对象)
最后是两种特殊类型:
resource (资源)
NULL (NULL)
运算符有:加减乘除,取模
数据库索引文件采用数据结构概述: 1、非主键索引需要在数据表本身的存储空间外额外开销存储空间,所以在更新的时候可能不仅要更新数据表本身,还要更新非主键索引,更新内容更多了,所以导致速度降低
标量数据类型是数据结构最基础的单元,只能存储一个数据。在 PHP 中的标量数据类型分为四种
boolean(布尔型) 最简单的数据类型,只有两个值:true(真) / false(假)
string(字符串) 字符串是连续的字符序列
integer(整型) 整型数据类型包含所有的整数,其可以是整数也可以是负数
float(浮点型) 浮点型数据类型也是用来存储数字,与整型不同它包含小数
队列这种数据结构更简单,就像我们生活中排队一样,它的特性是先进先出(FIFO)。
PHP
SPL中SplQueue类就是实现队列操作,和栈一样,它也可以继承双链表(SplDoublyLinkedList)轻松实现。
SplQueue类摘要如下:
SplQueue简单使用如下:
复制代码
代码如下:
$queue
=
new
SplQueue();
/**
*
可见队列和双链表的区别就是IteratorMode改变了而已,栈的IteratorMode只能为:
*
(1)SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_KEEP
(默认值,迭代后数据保存)
*
(2)SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_DELETE
(迭代后数据删除)
*/
$queue-setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO
|
SplDoublyLinkedList::IT_MODE_DELETE);
//SplQueue::enqueue()其实就是
SplDoublyLinkedList::push()
$queue-enqueue('a');
$queue-enqueue('b');
$queue-enqueue('c');
//SplQueue::dequeue()其实就是
SplDoublyLinkedList::shift()
print_r($queue-dequeue());
foreach($queue
as
$item)
{
echo
$item
.
PHP_EOL;
}
print_r($queue);
而优先队列SplPriorityQueue是基于堆(后文介绍)实现的。
SplPriorityQueue的类摘要如下:
SplPriorityQueue简单使用:
$pq
=
new
SplPriorityQueue();
$pq-insert('a',
10);
$pq-insert('b',
1);
$pq-insert('c',
8);
echo
$pq-count()
.PHP_EOL;
//3
echo
$pq-current()
.
PHP_EOL;
//a
/**
*
设置元素出队模式
*
SplPriorityQueue::EXTR_DATA
仅提取值
*
SplPriorityQueue::EXTR_PRIORITY
仅提取优先级
*
SplPriorityQueue::EXTR_BOTH
提取数组包含值和优先级
*/
$pq-setExtractFlags(SplPriorityQueue::EXTR_DATA);
while($pq-valid())
{
print_r($pq-current());
//a
c
b
$pq-next();
}