常数与数组
常量
//函数define创建
define('SITE_NAME','Peter的博客');
//关键字const创建
const COUNTRY = '中国';
//关键字echo访问
echo SITE_NAME,COUNTY;
echo constant('SITE_NAME');//函数constant访问
echo constant('COUNTRY');//函数constant访问
echo '<hr><pre>';
print_r(get_defined_constants());//获取系统全部常量,含自定义
echo '<hr>';
#检测常量是否已声明
echo defined('SITE_NAME')?'已定义':'未定义';
数组
- 分类
【根据键名分类】
1.1 索引数组【默认】,键名是整数。
1.2 关联数组,键名是字符串,与对象属性可相互转化。
【键值是否为数组】
1.1 一维数组:键值为非数组类型,最常用。
1.1多维数组:键值仍然是数组,使用最多的是二维数组,不推荐嵌套过深。 - 创建
2.1 统一创建。 arr = []; arr[] = element2,… - 访问,中括号加键名【key】
3.1 整体:print_r( arr);
3.2 逐个:echo array[‘name’]; - 更新
4.1 整体。需要通过循环遍历实现。
4.2 逐个。 arr=[]; $arr = - 删除
5.1 整体。unset( arr[key]);
5.3 单个删除键名重排[针对索引数组];
array_splice( start, newEle]);
5.4 删除空值元素。array_filter($arr);
5.5 删除特定元素。foreach + if + unset。
$city = ['合肥','上海','杭州','南京']
$user = ['id' => 10, 'name' => 'Peter', 'course' => 'php', 'grade' => 99];
#关联数组
print_r($user);//整体输出
echo '<hr>';
echo $user['name'];//查看单个元素
$user['name'] = '朱老师';//更新
echo $user['name'];//再次查看
//unset($city);
//print_r($city);
echo '<hr>';
//unset($user['course']);
print_r($user);//整体输出
echo '<hr>';
print_r($city);//原始索引数组
echo '<hr>'
array_splice($city,1,1);//删除第二个元素
print_r($city);//整体输出
常用数组函数
- 查询数组中是否存在某个值或某个键名
1.1 是否存在某个值:in_array( arr);
1.2 是否存在某个键名:array_key_exits( arr); - 在数组尾部增删元素(模拟堆栈)
2.1 添加/入栈:array_push( val):成功则返回新数组元素个数
2.2 删除/出战:array_pop($arr):成功则返回出栈元素 - 在数组头部增删元素(模拟堆栈)
3.1 添加/入栈:array_unshift( val):成功则返回新数组元素个数
3.2 删除/出栈:array_shift($arr);成功则返回出栈元素。 - 数组排序
4.1 【索引数组】根据值排序:sort()升序,rsort()降序,针对索引数组,键名重排,关联数组会忽略键名
4.1 【关联数组】根据值排序,键值对应关系不变:asort()升序,arsort()降序
4.2 【关联数组】根据键名排序,键值对应关系不变:ksort(),krsort();
$books = ['name'=>'PHP经典实例','price'=>'59,'author'=>'Peter'];
echo in_array(59,$books) ?'存在':'不存在';//判断是否存在某个值
echo '<hr>';
echo array_key_exists('name',$books)?'存在':'不存在';
//在尾部增加2个数据
echo array_push($books,500,800);
echo $books['publish']='机械工业出版社';
//在头部追加
echo array_unshift($books, 100, 200, 300);
echo array_shift($books);
$arr = [90,35,120,9,45,30,22,9];
//这两个函数只能通过索引排序
sort($arr);//索引重排
rsort($arr);//倒序
//可以通过键值,键名排序
asort($books);//按键值排序,保持键值关系
ksort($books);//按键名排序,保持键值关系
常用数组函数
1.分割:array_chunk(
num,[true]);true保持原索引
2.合并:array_merge(
arr2);同名键名自动覆盖
3.巡航:key()当前键名current()当前值,reset(
arr)下移,prev(
arr)尾部。
4.统计:count(
arr)返回当前元素的索引与关联表示,将自动下移指针。
6.转换:list(
v2…)=$arr;将数组元素索引部分按顺序转为变量。
掌握用each和list配合完成数组遍历,以后我们还要学到数组专用遍历语句foreach。
示例
$arr = [3,5,10,4,'a'=>'中国','php',39,'mysql','java',true,[100,200,300]];
print_r(array_chunk($arr,3,true));
//合并
$arr1 = array_merge($arr1,$arr2);//合并后更新第一个数组
//巡航输出健值
echo key($arr).'=>'.current($arr).'<br>';
next($arr);
echo key($arr).'=>'.current($arr).'<br>';
//遍历输出第一个元素的索引与关联部分
echo '<pre>';print_r(each($arr2));
//将当前元素的索引部分转为变量
list($key,$value) = each($arr2);
//输出与当前键值对应的$key,$value变量
echo $key.'=>'.$value.'<br>';
条件判断与多分支
- 单分支:if(){}
- 双分支:if(){}else{}
- 多分支:if()elseif(){}elseif()
- 三元运算符:条件?true:false。
彻底删除PHP项目的正确步骤
- 删除源码
- 删除项目对应的数据库。
- 如果创建了本地主机和域名,也要一并删除。
- 记得以上所有更改,必须重启web服务器才生效。