PHP第七课 使用方法数组2
学习平台:
1.了解数组函数
2.输出随机验证码
1.数组函数:
数组函数:
//作用:提供了非常多官方写的非常实用的代码段,提高编写速度.
1.数组的键值操作函数
2.统计数组的元素和唯一性
3.使用回调函数处理数组的函数
4.数组的排序函数
5.拆分,合并,分解与结合函数
6.数组与数据结构
7.其它实用的数组处理函数
数组的键值操作函数:
1.array_values();
模拟获取key和value的值
<?php
$arr=array("name"=>"user1","age"=>"30","sex"=>"man"); foreach($arr as $key=>$val){
$keys[]=$key;
$vals[]=$val;
} echo "<pre>";
print_r($keys);
echo "</pre>"; echo "<hr>";
echo "<pre>";
print_r($vals);
echo "</pre>"; ?>
2.array_values的使用
<? php
$arr=array("name"=>"user1","age"=>"30","sex"=>"man"); $keys=array_values($arr); echo "<pre>";
print_r($keys);
echo "</pre>";
?>
array_values();//获取数组中的值
array_keys();//获取数组中的健
in_array();//检查一个值是否在数组中
array_key_exists();//检查一个键是否在数组中
array_flip();//键和值对调
array_reverse();数组中的值反转
统计数组的元素和唯一性
1.count();
2.array_count_values();//统计数组中每一个值出现的次数.
3.array_unique();//删除数组中的反复
使用回调函数处理数组的函数:
1.array_filter();
<? php
$arr=array("user1"=>70,60,80,78,34,34,34,56,78,78); function older($var){
return ($var>60); } $arr2=array_filter($arr,"older"); echo "<pre>";
print_r($arr2);
echo "</pre>";
?>
2.array_map();
引用參数:
需求:数组值自加1
function show(&$arr){
foreach($arr as $key=>$val){
$arr[$key]=$val+1;
}
}
数组的排序函数
1.sort(); 升序,不保留key
2.rsort(); 降序 ,不保留key
3.asort(); 升序,保留key
4.arsort();
降序,保留key
5.ksort();依据key排序 升序
6.krsort();依据key排序 降序
7.natsort();自然数排序 升序,比方图片img2.jpg
8.natcasesort();忽略大写和小写 升序排列
9.multisort();多数组排序
ksort();
<?php
$arr=array("user1"=>10,"b"=>1,"c"=>3,"d"=>30); $arr2=array_flip($arr); ksort($arr2); echo "<pre>";
print_r($arr2);
echo "</pre>";
?>
natsort();
<? php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); sort($array1);
echo "Standard sorting\n";
print_r($array1); natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>
多数组排序:
<? php
$arr=array("aaa","bbbbbbbbb","cc","ddddd");
//需求:
//1.依照标题长度排序
//2.标题长度变成标题字符串的key //将数组中的value的长度取出,并作为一个新数组
//strlen($val)取出字符串的长度
foreach ($arr as $val) {
$lens[]=strlen($val);
} array_multisort($lens,SORT_ASC,$arr);//对数组进行排序,依据第一个数组来排序第二个数组 SORT_ASC表示升序排序 sort($lens); $arr2=array_combine($lens, $arr);//第一个数组作为第二个数组相应的key,返回一个新数组 echo "<pre>";
print_r($arr2);
echo "</pre>";
? >
拆分,合并,分解与结合函数
1.explode();
2.inplode();//join();
3.array_slice();数组的截取
4.array_splice();数组的裁剪
5.array-merge();合并多数组
6.array_combine();合并数组,两个数组,前一个数组作为key,后一个数组作为value
7.array_intersect();找出两个数组的交集
8.array_diff();找出两个数组的不同,依据第一个參数
9.array_pop();从最后弹出一个值,返回弹出值
10.array_push();从最后的位置压入一个值,返回元素的个数
11.array_shift();从洗前面的位置删除一个值
12.array_unshift();从最前的位置压入一个值
<?php $str="php,js,html,ces,div";
$arr=explode(",",$str); echo "<pre>";
print_r($arr);
echo "</pre>";
?>
</pre><span style="white-space:pre"> </span>2.inplode();将数组组合成为字符串<span style="white-space:pre"> </span><pre name="code" class="php"><? php $str="php,js,html,ces,div";
$arr=explode(",",$str); $str2=implode("-",$arr); echo "<pre>";
print_r($str2);
echo "</pre>";
?>
<?php $str="php,js,html,ces,div";
$arr=explode(",",$str); $arr2=array_reverse($arr);//讲数组中的值进行倒序 $str2=implode("-",$arr2); echo "<pre>";
print_r($str2);
echo "</pre>";
? >
array_slice();
<?php //截取总是从后往前截取
$arr = array("aa","bb","cc","dd","ee","ff","gg"); $arr2 = array_slice($arr, 0,2);//表示从0的位置截取2个 aa bb
$arr3 = array_slice($arr, -3,2);//表示从后往前数到3的位置,開始截取2个//ee ff echo "<pre>";
print_r($arr3);
echo "</pre>"; ? >
不仅拆减,并且能够加入
<?php
$arr = array("aa","bb","cc","dd","ee","ff","gg"); $arr2 = array_splice($arr, 0, 3, array("hh","ii","jj","kk"));//直接取原数组的值,并将原数组进行改变,原数组为取走以后剩下的值 echo "<pre>";
print_r($arr2);
echo "</pre>"; echo "<pre>";
print_r($arr);
echo "</pre>"; ? > array_merge(); <? php $a = array("aa","bb","cc");
$b = array("dd","ee","ff","gg"); $arr = array_merge($a, $b); echo "<pre>";
print_r($arr);
echo "</pre>"; ?>
其它实用的数组处理函数:
1.array_rand();//随机取一个key
2.range();//取出某个范围的数组
3.shuffle();//打乱数组的作用
4.array_sum();//计算数组内全部人的和(计算总得分)
假设计算数组的key之和,能够採用array_flip()对数组的健和值进行对调,然后就能够算出健之和.
<?php $arr = array("aa","bb","cc","dd","ee","ff","gg"); //将原数组顺序随机打乱
shuffle($arr); //取出数组的前3个
$arr2= array_slice($arr, 0 , 3); echo "<pre>";
print_r($arr2);
echo "</pre>"; ?>
//随机输出四位字符 验证码实现:
<?php //取出1-9 a-z A-Z的数组
$a = range(1, 9);
$b = range(a, z);
$c = range(A, Z); //将3个数组合并
$d = array_merge($a,$b,$c); //将合并后的数组打乱
shuffle($d); //取合并后的前4位
$e = array_slice($d, 0, 4); //将$e数组变为字符串
$f = join("", $e); echo $f; ?>
转载请注明出处: http://blog.csdn.net/junzaivip
版权声明:本文博客原创文章,博客,未经同意,不得转载。
PHP第七课 使用方法数组2的更多相关文章
- PHP第六课 使用方法数组
学习要点: *使用主阵列功能的理解 *知道如何遍历 *了解超全局数组和使用的基本关系 数组 1.数组定义和遍历 2.数组函数 数组定义: $arr=array(1,2,3);//索引数组,下标全是数字 ...
- Struts2学习第七课 动态方法调用
动态方法调用:通过url动态调用Action中的方法. action声明: <package name="struts-app2" namespace="/&quo ...
- NeHe OpenGL教程 第七课:光照和键盘
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 【C语言探索之旅】 第二部分第七课:文件读写
内容简介 1.课程大纲 2.第二部分第七课: 文件读写 3.第二部分第八课预告: 动态分配 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏 ...
- 【C语言探索之旅】 第一部分第七课:循环语句
内容简介 1.课程大纲 2.第一部分第七课: 循环语句 3.第一部分第八课预告: 第一个C语言小游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编 ...
- 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现
CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成 ...
- Python学习第七课
Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...
- [译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器
第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件 ...
- Kali Linux Web 渗透测试视频教程— 第七课 OpenVas
Kali Linux Web 渗透测试视频教程— 第七课 OpenVas 文/玄魂 视频教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 ...
随机推荐
- python 入门学习---模块导入三种方式及中文凝视
Python 有三种模块导入函数 1. 使用import 导入模块 import modname : 模块是指一个能够交互使用,或者从还有一Python 程序訪问的代码段.仅仅要导入了一个模块,就能够 ...
- HADOOP2.6
LINUX下HADOOP2.6.0集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
- dell服务器各类raid 和磁盘在阵列卡上的实验
听很多人说,做好阵列的硬盘从阵列上移除后,重新从硬盘导入阵列信息的时候不能打乱位置,昨天用两台Dell R710,四块sas 300G HP硬盘做实验,实验步骤如下: 一.dell R710首先用三块 ...
- C#基础总结之Attribute
Attribute是什么 Attribute的中文姓名 为什么我要拿一段文字来说Attribute的中文姓名呢?答案是:因为这很重要.正所谓“名”不正,则言不顺:另外重构手法中有一种很重要的方法叫重命 ...
- 在Java中如何使用jdbc连接Sql2008数据库(转)
我们在javaEE的开发中,肯定是要用到数据库的,那么在javaEE的开发中,是如何使用代码实现和SQL2008的连接的呢?在这一篇文章中,我将讲解如何最简单的使用jdbc进行SQL2008的数据库的 ...
- mysql 开放的telnet
两步开幕mysql远程连接 一个,登录mysql # mysql -uroot -p 两,配置远程连接 mysql > GRANT ALL PRIVILEGES ON *.* TO 'user1 ...
- Windows Phone开发(43):推送通知第一集——Toast推送
原文:Windows Phone开发(43):推送通知第一集--Toast推送 好像有好几天没更新了,抱歉抱歉,最近"光荣"地失业,先是忙于寻找新去处,唉,暂时没有下文.而后又有一 ...
- C#语音录制
客服小妹是如何泡到手的——C#定时提醒·语音录制·语音播放·文件转录Demo——倾情奉献! 一.需求提出 客服小妹跟我说,每天要统计新加好友数,得先记下昨天的数目,然后查看今天的数目,还要相减,打 ...
- 从零開始学android<数据存储(1)SharedPreferences属性文件.三十五.>
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值 ...
- Android实现限制EditText输入文字的数量
一: 声明控件. TextView hasnumTV; TextView hasnum;// 用来显示剩余字数 int num = 50;// 限制的 ...