php基础学习(二)

常数与数组

常量

//函数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 索引数组【默认】,键名是整数。
    1.2 关联数组,键名是字符串,与对象属性可相互转化。
    【键值是否为数组】
    1.1 一维数组:键值为非数组类型,最常用。
    1.1多维数组:键值仍然是数组,使用最多的是二维数组,不推荐嵌套过深。
  2. 创建
    2.1 统一创建。 a r r = [ e l e m e n t 1 , e l e m e n t 2 , . . . ] ; 2.2 arr = [element1,element2,...]; 2.2 逐个创建。 arr = []; a r r [ ] = e l e m e n t 1 ; arr[]=element1; arr[] = element2,…
  3. 访问,中括号加键名【key】
    3.1 整体:print_r( a r r ) ; v a r d u m p ( arr);var_dump( arr);
    3.2 逐个:echo a r r a y [ k e y ] : array[key]: array[‘name’];
  4. 更新
    4.1 整体。需要通过循环遍历实现。
    4.2 逐个。 a r r [ k e y ] = n e w v a l u e ; 4.3 arr[key] = new_value; 4.3 清空或重建。 arr=[]; $arr =
  5. 删除
    5.1 整体。unset( a r r ) ; 5.2 u n s e t ( arr); 5.2 单个删除键名不重排。unset( arr[key]);
    5.3 单个删除键名重排[针对索引数组];
    array_splice( a r r , arr, start, c o u n t , [ count,[ 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.1 是否存在某个值:in_array( v a l , val, arr);
    1.2 是否存在某个键名:array_key_exits( k e y , key, arr);
  2. 在数组尾部增删元素(模拟堆栈)
    2.1 添加/入栈:array_push( a r r , arr, val):成功则返回新数组元素个数
    2.2 删除/出战:array_pop($arr):成功则返回出栈元素
  3. 在数组头部增删元素(模拟堆栈)
    3.1 添加/入栈:array_unshift( a r r , arr, val):成功则返回新数组元素个数
    3.2 删除/出栈:array_shift($arr);成功则返回出栈元素。
  4. 数组排序
    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( a r r , arr, num,[true]);true保持原索引
2.合并:array_merge( a r r 1 , arr1, arr2);同名键名自动覆盖
3.巡航:key()当前键名current()当前值,reset( a r r ) n e x t ( arr)指针复位到第一位,next( arr)下移,prev( a r r ) e n d ( arr)前一个,end( arr)尾部。
4.统计:count( a r r ) 5. e a c h ( arr)返回数组中的元素个数,整数。 5.遍历:each( arr)返回当前元素的索引与关联表示,将自动下移指针。
6.转换:list( v 1 , v1, 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>';

条件判断与多分支

  1. 单分支:if(){}
  2. 双分支:if(){}else{}
  3. 多分支:if()elseif(){}elseif()
  4. 三元运算符:条件?true:false。

彻底删除PHP项目的正确步骤

  1. 删除源码
  2. 删除项目对应的数据库。
  3. 如果创建了本地主机和域名,也要一并删除。
  4. 记得以上所有更改,必须重启web服务器才生效。
发布了12 篇原创文章 · 获赞 2 · 访问量 656

猜你喜欢

转载自blog.csdn.net/gonghaiyu/article/details/104634430
今日推荐