数组定义
PHP数组可以是混合数组 你的数组里面可以有数字也可以有字符串,二维数组不谈一个数组里还有数组跟C有差别定义方式例如 $dd=array(array(1,2,3),array(1,2,3,4),array(1,2,3,4,5))
$arr1=array(3,4,5)默认下标0 1 2 3
$arr2=arry("a"=>3,"b"=>22)关联数组下标为字符串
$arr3=arry("a"=>3,"b"=>22,5=>8,4)有指定下标也有 ,自动下标 此时 3的下标为aa 8的下标为5,4的下标为6(自动下标为最大数字下标加一)
$arr4[1]=3数组下标为1的值为3

数组取值
$v=$arr1[下标名字];

数组遍历

current($array)//获取数组的当前指针所在单元的值
key($array)//获取当前数组指针的下标
next($array)//移到数组的下一个节点获得其中的值
prev($array)//把数组指针移到最后一个单元然后取得该单元的值
end($array)//把数组下标直接移到最后一个
reset($array)//把数组下标直接移动到第一个
$count($array)//取得数组的长度

foreach ($数组名称 as $key=>$value)
{
echo " $key--$value"
}

如果下标都为整数0....100可以直接用for循环 ,如果有自定义下标用到next和for循环搭配
简单的for遍历
$ar=array(1,2,3,4,5,);
for ($i= 0;$i< count($ar); $i++)
{
$str= $ar[$i];
echo "$str";
}

next和for循环搭配
$ar=array(1,2,3,4,5,);
for ($i= 0;$i< count($ar); $i++)
{
$key=key($ar);
$val=current($ar);
echo "$val";
next($ar);
}
each()函数作用取得一个数组当前单元的下标和值放进一个数组,然后指针后移
list()用于一次性取得一个数组中从0开始的数组下标的多个单元的值 形式:list($变量1,$变量2,$变量3)
类似于
$变量1=$数组[0]
$变量2=$数组[1]
while() 和 list(),each()配合使用。
例如

$urls= array('aaa','bbb','ccc','ddd');
while(list($key,$val)= each($urls)) {
echo "This Site url is $val.<br />";
}

意思是用each取得数组第一个下标和值,用list存放其中的下标和值,其中list($key,$val)里面的变量只是为了起的名字容易理解跟key这个函数没关系
每次each调用之后指针自动向后移动-----因此组合可用-----平常也不用这个吧!

PHP数组创建和遍历(基础)的更多相关文章

  1. js:数组(创建、遍历、函数)

    1.数组 采用单个变量只能存储一个数据,数组能够存储多个数据,获取方式也比较简单.它是将一组数据存储在当个变量下的存储方式. 2.数组的创建 (1)new方式创建,不指定数组长度 <script ...

  2. JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象

    文章目录 1.工厂方法创建对象 1.1 代码块 1.2.测试结果 2.原型对象 2.1 代码 2.2 测试结果 3.toString 3.1 代码 3.2 测试结果 4.数组 4.1 代码 5.字面量 ...

  3. 集合 数组 定义 转换 遍历 Arrays API MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. JS实现图的创建和遍历

    图分为无向图和有向图 图的存储结构有邻接矩阵.邻接表.十字链表.邻接多重表这四种,最常用的是前两种 本篇主要是利用邻接矩阵实现无向图的创建和遍历(深度优先.广度优先),深度优先其实就是二叉树里的前序遍 ...

  5. leadcode的Hot100系列--二叉树创建和遍历

    很多题目涉及到二叉树,所以先把二叉树的一些基本的创建和遍历写一下,方便之后的本地代码调试. 为了方便,这里使用的数据为char类型数值,初始化数据使用一个数组. 因为这些东西比较简单,这里就不做过多详 ...

  6. Java自学-数组 创建数组

    Java 如何创建一个数组 数组是一个固定长度的,包含了相同类型数据的 容器 步骤 1 : 声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都 ...

  7. C++ 创建和遍历二叉树

    一个简单的创建和遍历二叉树的C++程序,二叉树的其他操作程序待更新. #include <iostream> using namespace std; struct BiTNode{ ch ...

  8. C语言 数组做函数参数不传数组个数的遍历方法

    //数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...

  9. OpenJudge计算概论-二维数组右上左下遍历

    /*====================================================================== 二维数组右上左下遍历 总时间限制: 1000ms 内存 ...

随机推荐

  1. sklearn实现决策树算法

    1.决策树算法是一种非参数的决策算法,它根据数据的不同特征进行多层次的分类和判断,最终决策出所需要预测的结果.它既可以解决分类算法,也可以解决回归问题,具有很好的解释能力.另外,对于决策树的构建方法具 ...

  2. Angular4之时间管道

    {{时间戳 |date:“yyyy/MM/dd HH:mm:ss”}} “YYYY/MM/DD”不可

  3. JS之如何将Promise.then的值直接return出来

    不可能直接将Promise.then的值直接return出来,只能return出Promise对象,然后继续.then去操作异步请求得到的值.

  4. 「POJ1147」The Buses

    传送门 POJ Vjudge 解题思路 可以首先预处理一下可能成为一条线路的所有方案,然后把这些可能的方案按照长度降序排序,即按照路线上的时间节点从多到少排序. 因为这样我们就可以先确定更多的时刻的状 ...

  5. Lesson 44 Patterns of culture

    What influences us from the moment of birth? Custom has not commonly been regarded as a subject of a ...

  6. 获取JSHANDLE句柄

    A string can also be passed in instead of a function: const aHandle = await page.evaluateHandle('doc ...

  7. Vue中 onmouseenter,onmouseleave,onmouseover,onmouseout的区别

    今天在学Vue视频的时候,提到了这四个触发事件,我就想做下笔记: 1.onmouseenter和onmouseleave是一组:当鼠标进入指定区域的时候触发,但是不支持冒泡,进入或者离开子组件都不触发 ...

  8. [noip2014]P2312 解方程

    P2312 解方程 其实这道题就是求一个1元n次方程在区间[1, m]上的整数解. 我们枚举[1, m]上的所有整数,带进多项式中看看结果是不是0即可. 这里有一个技巧就是秦九韶算法,请读者自行查看学 ...

  9. docker-jenkins SSH Publishers时踩的坑

    source相对路径问题,不是 /var/jenkins_home/workspace/build-renren/target/renren-fast.war  或环境变量,而是  target/re ...

  10. (转)浅谈 Linux 内核无线子系统

    前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...