数组函数整理

/*~~~~~~~~~~~~~数组创建~~~~~~~~~~~~~~~*/

 

array() 生成一个数组

$a=array('cat','dog','pig');

print_r($a);  //Array ( [0] => cat [1] => dog [2] => pig )

 

array_combine() 生成一个数组,用一个数组的值作为键名。另一个数组值作为值

$a1=array('c','d','p');

$a2=array('cat','dog','pig');

print_r(array_combine($a1,$a2));  //Array ( [c] => cat [d] => dog [p] => pig )

 

range() 创建并返回一个包含指定范围的元素的数组

$number=range(0,50,10);

print_r($number);  //Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 )

 

compact() 创建一个由参数所带变量组成的数组

$firstname='peter';

$lastname='griffin';

$age='38';

$result=compact('firstname','lastname','age');

print_r($result);  //Array ( [firstname] => peter [lastname] => griffin [age] => 38 )

 

array_fill() 用给定的填充(值生成)数组 3是键,5是填充的数量,‘dog’为填充内容

$a=array_fill(3,5,'dog');

print_r($a);  //Array ( [3] => dog [4] => dog [5] => dog [6] => dog [7] => dog )

 

/*~~~~~~~~~~数组合并和拆分~~~~~~~~~~~~*/

 

array_chunk() 把一个数组分割成新的数组块

$a=array('a'=>'cat','b'=>'dog','c'=>'pig');

print_r(array_chunk($a,2));//Array ( [0] => Array ( [0] => cat [1] => dog ) [1] => Array ( [0] => pig ) )

 

array_merge() 把两个或多个数组合并为一个数组,如果两个数组内的元素相同的话,则重复的元素不再进行合并!

$a1=array('a'=>'cat','b'=>'dog');

$a2=array('c'=>'pig','d'=>'cow');

$a2=array('a'=>'cat','b'=>'dog');

print_r(array_merge($a1,$a2));//Array ( [a] => cat [b] => dog )

 

array_slice() 在数组中根据条件取出一段值,并返回

  $a=array(0=>'cat',1=>'dog',2=>'pig',3=>'cow');

  $a1=array(4=>'cat',5=>'dog',6=>'pig',7=>'cow');

print_r(array_slice($a,1,2));

Array ( [0] => dog [1] => pig ) 

print_r(array_slice($a1,4,2)).'<br>';

Array ( )无效果,采用的是默认键,赋予的键不管用

 

/*~~~~~~~~~~~~~~数组比较~~~~~~~~~~~~~~*/

 

array_diff() 返回两个数组的差集数组   注意:输出结果为第一个数组与 其他数组的差集数组,即在第一个数组中哪一个不同,输出哪一个!

$a1=array('a'=>'cat','b'=>'dog');

$a2=array('c'=>'pig','d'=>'cow');

$a3=array('c'=>'pig','b'=>'dog');

print_r(array_diff($a1,$a2)); //Array ( [a] => cat [b] => dog ) 

print_r(array_diff($a1,$a3)); //Array ( [a] => cat )

 

array_intersect() 返回两个或多个数组的交集数组

$a1=array('a'=>'cat','b'=>'dog');

$a2=array('c'=>'pig','b'=>'dog');

print_r(array_intersect($a1,$a2)); //Array ( [b] => dog )

 

/*~~~~~~~~~~~数组查找替换~~~~~~~~~~~~*/

 

array_search() 在数组中查找一个值,返回一个键,没有返回,返回假

$a1=array('a'=>'cat','b'=>'dog');

print_r(array_search('dog',$a1)); // b

 

array_splice() 把数组中一部分删除,用其他值来代替

$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");

$a2=array(0=>"Tiger",1=>"Lion");

print_r(array_splice($a1,0,2,$a2)); //Array ( [0] => Dog [1] => Cat ) 

print_r($a1); //Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )

 

//array_sum() 返回数组中所有值的总和

$a=array(0=>"5",1=>"15",2=>"25");

echo array_sum($a);// 45

 

in_array() 在数组中搜索给定的值,区分大小写

$a=array('A','b','ABCG');

if (in_array("b",$a)){

echo "Match found";//Match found

}else{

echo "Match not found";

}

 

array_key_exists() 判断某个数组中是否存在指定的key

$a=array("a"=>"Dog","b"=>"Cat");

if (array_key_exists("a",$a)){

echo "Key exists!";//Key exists!

}else{

echo "Key does not exist!";

}

 

/*~~~~~~~~~~~~数组指针操作~~~~~~~~~~~~*/

 

key() 返回数组内部指针当前指向元素的键名

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . key($people);// 0

 

current() 返回数组中的当前元素(单元)

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . current($people);//Peter

 

next() 把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . next($people);// Joe

 

prev() 把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . next($people);// Joe

echo "The key from the current position is: " . prev($people);// Peter

 

end() 将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . end($people);//Cleveland

 

reset() 把数组的内部指针指向第一个元素,并返回这个元素的值

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo "The key from the current position is: " . end($people);//Cleveland

echo "The key from the current position is: " . reset($people);//Peter

 

list() 用数组中的元素为一组变量赋值

$my_array=array("Dog","Cat","Horse");

list($a, $b, $c) = $my_array;

echo $a.'--'.$b.'--'.$c; //Dog--Cat--Horse

 

array_shift() 删除数组中的第一个元素,并返回被删除元素的值

$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");

echo array_shift($a); //Dog

print_r ($a); //Array ( [b] => Cat [c] => Horse )

 

array_unshift() 在数组开头插入一个或多个元素

$a=array("a"=>"Cat","b"=>"Dog");

echo array_unshift($a,'horse'); //3

print_r($a);  //Array ( [0] => horse [a] => Cat [b] => Dog )

 

array_push() 向数组最后压入一个或多个元素

$a=array("Dog","Cat");

echo array_push($a,"Horse","Bird"); //4

print_r($a); //Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird )

 

array_pop() 删除数组中最后一个元素

$a=array("Dog","Cat");

print_r(array_pop($a)); //Cat

print_r($a); //dog

 

/*~~~~~~~~~~~数组键值操作~~~~~~~~~~~~~*/

 

shuffle() 将数组打乱,不保留键名

$a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

shuffle($a);

print_r($a); //Array ( [0] => Dog [1] => Cat [2] => pig )

 

count() 计算数组中的单元数目或对象中的属性个数

$a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

print_r(count($a));// 3

 

array_flip() 返回一个键值反转后的数组

$a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

print_r(array_flip($a)); //Array ( [Dog] => d [Cat] => c [pig] => p )

 

array_keys() 返回数组所有的键,组成一个数组

$a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

print_r(array_keys($a)); //Array ( [0] => d [1] => c [2] => p )

 

array_values() 返回数组中所有的值,组成一个新的数组

  $a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

print_r(array_values($a)); //Array ( [0] => Dog [1] => Cat [2] => pig )

 

array_reverse() 返回一个元素顺序相反的数组

$a=array("d"=>"Dog","c"=>"Cat","p"=>"pig");

print_r(array_reverse($a)); //Array ( [p] => pig [c] => Cat [d] => Dog )

 

array_count_values() 统计数组中所有值出现的次数

$a=array("Dog","Dog","Cat","pig");

print_r(array_count_values($a)); //Array ( [Dog] => 2 [Cat] => 1 [pig] => 1 )

 

array_rand() 从数组中随机抽取一个或多个元素,注意是键名,第二个参数为随机抽取的个数,最多只能抽取4个,多了就会发生报错!

$a=array("Dog","Dog","Cat","pig");

print_r(array_rand($a,2)); //Array ( [0] => 2 [1] => 3 )

 

each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向下一个移动。

$people = array("Peter", "Joe", "Glenn", "Cleveland");

print_r (each($people)); //Array ( [1] => Peter [value] => Peter [0] => 0 [key] => 0 ) 

print_r (each($people)); //Array ( [1] => Joe [value] => Joe [0] => 1 [key] => 1 )

 

array_unique() 删除重复值,返回剩余数组 不改变原数组的值

$a=array("Dog","Dog","Cat","pig");

print_r(array_unique($a)); //Array ( [0] => Dog [2] => Cat [3] => pig )

print_r($a); //Array ( [0] => Dog [1] => Dog [2] => Cat [3] => pig )

 

 

/*~~~~~~~~~~~~~数组排序~~~~~~~~~~~~~~*/

 

sort() 按升序对给定数组的值排序,不保留键名

$a=array("one"=>"Dog","two"=>"Dog","three"=>"Cat","four"=>"pig");

//print_r(sort($a)); //结果为:1 ,以下结果类似

sort($a);

print_r($a); //Array ( [0] => Cat [1] => Dog [2] => Dog [3] => pig )

 

rsort() 对数组逆向排序,不保留键名

$a=array("one"=>"Dog","two"=>"Dog","three"=>"Cat","four"=>"pig");

print_r(rsort($a)); //输出结果为:1

rsort($a);

print_r($a); //Array ( [0] => pig [1] => Dog [2] => Dog [3] => Cat )

 

asort() 对数组排序,保持索引关系

$a=array(1=>"Dog",2=>"Dog",3=>"Cat",4=>"pig");

asort($a);

print_r($a);//Array ( [3] => Cat [2] => Dog [1] => Dog [4] => pig )

 

arsort() 对数组逆向排序,保持索引关系

$a=array(1=>"Dog",2=>"Dog",3=>"Cat",4=>"pig");

arsort($a);

print_r($a);//Array ( [4] => pig [2] => Dog [1] => Dog [3] => Cat )

 

ksort() 按键名对数组排序

$a=array(1=>"Dog",2=>"Dog",3=>"Cat",4=>"pig");

ksort($a);

print_r($a); //Array ( [1] => Dog [2] => Dog [3] => Cat [4] => pig )

 

krsort() 将数组按照键逆向排序

$a=array(1=>"Dog",2=>"Dog",3=>"Cat",4=>"pig");

krsort($a);

print_r($a); //Array ( [4] => pig [3] => Cat [2] => Dog [1] => Dog )

 

natsort() 按自然顺序法对数组中的元素排序

$a=array(1=>"Dog",2=>"dog",3=>"Cat",4=>"pig");

natsort($a);

print_r($a); //Array ( [3] => Cat [2] => Dog [1] => dog [4] => pig )

 

natcasesort() 自然排序,不区分大小写 注意:字母相同,小写排在大写前面

$a=array(1=>"Dog",2=>"dog",3=>"Cat",4=>"pig");

natcasesort($a);

print_r($a); //Array ( [3] => Cat [2] => dog [1] => Dog [4] => pig )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值