1.创建并输出数组

(1)相同数据类型的数组
$attr=array(1,2,3,4,5);
print_r($attr);
echo "<br>";
$sttr1=array("a","b","c","d");
print_r($sttr1);
echo "<br>";
(2)创建关联数组
$sttr2=array("one"=>1,"two"=>2,"three"=>3);
print_r($sttr2);

2.统计数组中元素个数 count()函数

$sttr2=array("one"=>1,"two"=>2,"three"=>3);
echo count($sttr2);//输出3

3.向数组中添加元素 $sttr[]="";

$sttr1=array("a","b","c","d");
$sttr1[]="e";
print_r($sttr1);

4.将数组中指定索引位置的元素替换 $array[n]="";

$sttr1=array("a","b","c","d");
$sttr1[2]="e";
print_r($sttr1);

5.获取数组中最后一个元素 array_pop()函数;

$sttr=array("a","b","c","d");
$sttr1=array_pop($sttr);
print_r($sttr1);//输出d

6.去除数组中的重复元素  array_unique()函数

$sttr=array("a","b","c","d","b","c");
$sttr1=array_unique($sttr);
print_r($sttr1);

7.对数组中的元素进行随机抽取 rand()函数

$sttr=array("a","b","c","d","b","c");
$r=rand(0,5);
echo "随机取到的元素是:".$sttr[$r];

8.二维数组的输出   print_r($sttr[键值名])

$sttr=array("one"=>array("a","b"),"two"=>array("c","d"),"three"=>array("e","f"));
print_r($sttr["one"]);

9.获取数组当前的键名和值  用foreach()遍历

$sttr=array("one"=>111,"two"=>222,"three"=>3333);
foreach($sttr as $key=>$value)
{
echo $key;//输出键名 }
echo "<br>";
foreach($sttr as $key=>$value)
{
echo $value;//输出值 }

10.检测数组中是否存在某个值  array_key_exists(键名,数组名)函数

$sttr=array("one"=>111,"two"=>222,"three"=>3333);
if(array_key_exists('one',$sttr))
{
echo "存在";
}
else
{
echo "不存在";
}

11.合并数组  array_merge()函数

$sttr=array("one"=>111,"two"=>222,"three"=>3333);
$sttr1=array("a"=>444,"b"=>666,"c"=>777);
$sttr2=array_merge($sttr,$sttr1);
print_r($sttr2);

12.for循环遍历,只能遍历索引数组

$attr = array(1,2,3);
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}

13.foreach遍历,索引关联都可以遍历

$attr = array(1,2,3);
$attr1 = array("one"=>1,"two"=>2,"3"=>3); foreach($attr as $v)
{
echo $v."<br>";
} foreach($attr1 as $k=>$v)
{
echo "{$k}--{$v}<br>";
}

14.each()和list()配合着来遍历数组

$attr1 = array("one"=>1,"two"=>2,"3"=>3);
var_dump(each($attr1)); //取数组里面当前指针指向的元素
如果需要数组中所有数据,需要一步一步的写
var_dump(each($attr1));
var_dump(each($attr1));
$attr = array(1,2,3);
list($a,$b,$c)=$attr; //将右侧数组里面的元素赋值给参数列表里面的变量
echo $a,$b,$c;
用each()和list()结合着遍历数组:
$attr1 = array("one"=>1,"two"=>2,"3"=>3); while(list($k,$v) = each($attr1))
{ echo "{$k}--{$v}<br>"; }

15.使用指针的方式来遍历数组

$attr1 = array("one"=>1,"two"=>2,"3"=>3)
echo current($attr1); //取指针指向的当前元素的value值 echo key($attr1); //取指针指向的当前元素的key
next($attr1); //将指针向下调一个

prev($attr1); //将指针向上调一个

end($attr1); //将指针调向最后一个元素

reset($attr1); //将指针复位

指针思想遍历集合:

$attr1 = array("one"=>1,"two"=>2,"3"=>3);

for($i=0;$i<count($attr1);$i++)
{
echo key($attr1);
next($attr1);
} do
{
echo key($attr1);
}
while(next($attr1))

16获取数组的长度 - count() 函数 count() 函数用于返回数组的长度(元素的数量):

<?php
$cars=array("沃尔沃","宝马","丰田");
echo count($cars);
?>

17.数组的排序:

1.sort() - 对数组进行升序排列

$sttr=array("2","1","3");
sort($sttr);
foreach($sttr as $aa)
{
echo $aa;
}//输出123

2.rsort() - 对数组进行降序排列

$sttr=array("2","1","3");
rsort($sttr);
foreach($sttr as $aa)
{
echo $aa;
}//输出321

3.asort() - 根据关联数组的值,对数组进行升序排列

$age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43");
asort($age);
foreach($age as $aa)
{
echo $aa;
}

4.ksort() - 根据关联数组的键,对数组进行升序排列

$age=array("5"=>"35","7"=>"37","2"=>"43");
ksort($age); foreach($age as $aa)
{
echo $aa;
}

5.arsort() - 根据关联数组的值,对数组进行降序排列

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
arsort($age); foreach($age as $aa)
{
echo $aa;
}

6.krsort() - 根据关联数组的键,对数组进行降序排列

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
krsort($age);
foreach($age as $aa)
{
echo $aa;
}

php部分--数组(包含指针思想遍历数组);的更多相关文章

  1. C二维数组用指针地址遍历

    #include <stdio.h> #include <stdlib.h> int main(){ int a = 100; void *p = &a; printf ...

  2. PHP数组的基本操作及遍历数组的经典操作

    <?php 索引数组//数组第一种定义 $arr = array(1,2,3);var_dump($arr); //数组第二种定义$arr = [1,2,3];var_dump($arr); / ...

  3. C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数

    1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...

  4. C++二维数组、指针、对象数组、对象指针

    项目中用到,随手记一下: 1.二维数组.与指针 创建二维数组指针的方式: a.已知一维的大小 1 int **array=new int *[rows]; 2 (for int i=0;i<ro ...

  5. IT兄弟连 Java语法教程 数组 使用foreach循环遍历数组元素

    从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据 ...

  6. JS中数组实现(倒序遍历数组,数组连接字符串)

    // =================== 求最大值===================================== <script> var arr = [10,35,765 ...

  7. [C++]数组与指针[二维数组与指针]

  8. 用数组指针遍历数组,FOR/FOREACH遍历数组

    1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...

  9. PHP 遍历数组的方法汇总

    1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...

随机推荐

  1. Java 枚举&注解

    枚举类 如何自定义枚举类 JDK1.5之前需要自定义枚举类 JDK 1.5 新增的 enum 关键字用于定义枚举类 若枚举只有一个成员, 则可以作为一种单例模式的实现方式 //枚举类 class Se ...

  2. 多功能节点连线绘图控件Nevron Diagram for .NET使用方法及下载地址

    Nevron Diagram for .NET是一个功能强大,世界上顶级的.NET图表控件.可扩展的图形报表构架,可以帮您创建功能丰富的Winforms及Webforms图表解决方案.这个产品构建于N ...

  3. js中获取项目路径的小插件

    //立即执行的js (function() { //获取contextPath var contextPath = getContextPath(); //获取basePath var basePat ...

  4. java基础-001

    一.区分final . finally . finalize  1.关键字final Java语言的关键字final可以用于变量.类或方法,但是含义会有所不同. -用于变量:一旦初始化,变量值就不能修 ...

  5. linux下磁盘进行分区、文件系统创建、挂载和卸载

    任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...

  6. 03-树2 Tree Traversals Again

    这题是第二次做了,两次都不是独立完成,不过我发现我第一次参考的程序,也是参考老师(陈越)的范例做出来的.我对老师给的做了小幅修改,因为我不想有全局变量的的存在,所以我多传了三个参数进去.正序遍历每次都 ...

  7. Python学习路程day4

    迭代器&生成器 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. ...

  8. 2013 imac 安装 win7

    昨天晚上安装imac win7系统,其实步骤是很简单的,首先需要一个用boot camp助手做好的win7安装U盘或者有个外接光驱加一张win7光盘,然后用boot camp助理划分一个分区给win7 ...

  9. 几次接触Collection排序使用总结

          初次接触Collection.sort()就是由鞠老师的作业4了解的,因为根据课程安排,这学期才开设java基础课,所有需要用到的的东西全是自学.而那次作业带给我最直观的感受就是:单纯的去 ...

  10. Egret

    http://www.manew.com/forum-html5Engine-1.html http://www.manew.com/forum-html5Engine-1.html https:// ...