php部分--数组(包含指针思想遍历数组);
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部分--数组(包含指针思想遍历数组);的更多相关文章
- C二维数组用指针地址遍历
#include <stdio.h> #include <stdlib.h> int main(){ int a = 100; void *p = &a; printf ...
- PHP数组的基本操作及遍历数组的经典操作
<?php 索引数组//数组第一种定义 $arr = array(1,2,3);var_dump($arr); //数组第二种定义$arr = [1,2,3];var_dump($arr); / ...
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...
- C++二维数组、指针、对象数组、对象指针
项目中用到,随手记一下: 1.二维数组.与指针 创建二维数组指针的方式: a.已知一维的大小 1 int **array=new int *[rows]; 2 (for int i=0;i<ro ...
- IT兄弟连 Java语法教程 数组 使用foreach循环遍历数组元素
从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据 ...
- JS中数组实现(倒序遍历数组,数组连接字符串)
// =================== 求最大值===================================== <script> var arr = [10,35,765 ...
- [C++]数组与指针[二维数组与指针]
- 用数组指针遍历数组,FOR/FOREACH遍历数组
1. 用数组指针遍历一维数组 <?php header("Content-type:text/html;charset=utf-8"); /*用数组指针遍历一位数组的值*/ ...
- PHP 遍历数组的方法汇总
1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...
随机推荐
- 通过代码自定义cell 新浪微博页面显示
通过代码自定义cell(cell的高度不一致)(如果高度一致的cell 用xib实现) 1.新建一个集成自UItableVIewCell的类 2.重写initWithStle :方法 - (insta ...
- 集成支付宝钱包支付iOS SDK的方法与经验
流程 摘自第一个文档<支付宝钱包支付接口开发包2.0标准版.pdf> 图中的“商户客户端”就是我们的iOS客户端需要做的事情: 调用支付宝支付接口 处理支付宝返回的支付结果 在调用支付宝支 ...
- iOS中类方法的作用
类方法,这意味着你将它发送给类,而不是对象实例. 因为不是发送给一个实例,所以你不能使用任何实例变量,你只能做一些通用性的事情. 实际上类方法只用于两种情况: 1.创建事物,比如创建一个特殊格式的字符 ...
- SharePoint 沙盒解决方案 VS 场解决方案
博客地址 http://blog.csdn.net/foxdave 最近看书正好看到了关于沙盒解决方案的介绍,便整理记录一下. 虽然沙盒解决方案已经在最新的SharePoint开发中被否决弃用了(被A ...
- 有关PHP的字符串知识
字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性. 字符串型可以用三种方法定义:单引号形式.双引号形式和Heredoc结构形式. 1.每条指令可要记得使用 ...
- c++高质量编程手册
怡化主管强烈要求我读这本书.... 笔记尚未完成,持续更新呗.. 第1章 高质量软件开发之道 1.1 软件质量基本概念 1.1.1 如何理解软件的质量:功能性和非公能性 1.1.2 提高软件质量的基本 ...
- WABAPI使用
最近写一个供其他系统调用的接口,决定使用wabapi,以前只是大概了解wabapi是什么东西,没有写过自己的api,从头开始学习. 1.开始创建一个webapi的项目,不得不说VS真的替我们省了好多事 ...
- (转)经典收藏 50个jQuery Mobile开发技巧集萃
(原)http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 经典收藏 50个jQuery Mobile开发技巧集萃 ...
- (转)浅析Mysql的my.ini文件
原文:http://blog.csdn.net/heirenheiren/article/details/7895139 转载:http://hunanpengdake.iteye.com/admin ...
- Xtreme Toolkit Pro 免费下载地址
Xtreme Toolkit Pro 是针对Windows程序员的一套先进的用户界面套包,强大的功能可使您的应用程序具有专业的.现代感的外观. Xtreme Toolkit Pro 由8个专业级的构件 ...