PHP数组创建和遍历(基础)
数组定义
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数组创建和遍历(基础)的更多相关文章
- js:数组(创建、遍历、函数)
1.数组 采用单个变量只能存储一个数据,数组能够存储多个数据,获取方式也比较简单.它是将一组数据存储在当个变量下的存储方式. 2.数组的创建 (1)new方式创建,不指定数组长度 <script ...
- 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.字面量 ...
- 集合 数组 定义 转换 遍历 Arrays API MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- JS实现图的创建和遍历
图分为无向图和有向图 图的存储结构有邻接矩阵.邻接表.十字链表.邻接多重表这四种,最常用的是前两种 本篇主要是利用邻接矩阵实现无向图的创建和遍历(深度优先.广度优先),深度优先其实就是二叉树里的前序遍 ...
- leadcode的Hot100系列--二叉树创建和遍历
很多题目涉及到二叉树,所以先把二叉树的一些基本的创建和遍历写一下,方便之后的本地代码调试. 为了方便,这里使用的数据为char类型数值,初始化数据使用一个数组. 因为这些东西比较简单,这里就不做过多详 ...
- Java自学-数组 创建数组
Java 如何创建一个数组 数组是一个固定长度的,包含了相同类型数据的 容器 步骤 1 : 声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都 ...
- C++ 创建和遍历二叉树
一个简单的创建和遍历二叉树的C++程序,二叉树的其他操作程序待更新. #include <iostream> using namespace std; struct BiTNode{ ch ...
- C语言 数组做函数参数不传数组个数的遍历方法
//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void ...
- OpenJudge计算概论-二维数组右上左下遍历
/*====================================================================== 二维数组右上左下遍历 总时间限制: 1000ms 内存 ...
随机推荐
- sklearn实现决策树算法
1.决策树算法是一种非参数的决策算法,它根据数据的不同特征进行多层次的分类和判断,最终决策出所需要预测的结果.它既可以解决分类算法,也可以解决回归问题,具有很好的解释能力.另外,对于决策树的构建方法具 ...
- Angular4之时间管道
{{时间戳 |date:“yyyy/MM/dd HH:mm:ss”}} “YYYY/MM/DD”不可
- JS之如何将Promise.then的值直接return出来
不可能直接将Promise.then的值直接return出来,只能return出Promise对象,然后继续.then去操作异步请求得到的值.
- 「POJ1147」The Buses
传送门 POJ Vjudge 解题思路 可以首先预处理一下可能成为一条线路的所有方案,然后把这些可能的方案按照长度降序排序,即按照路线上的时间节点从多到少排序. 因为这样我们就可以先确定更多的时刻的状 ...
- Lesson 44 Patterns of culture
What influences us from the moment of birth? Custom has not commonly been regarded as a subject of a ...
- 获取JSHANDLE句柄
A string can also be passed in instead of a function: const aHandle = await page.evaluateHandle('doc ...
- Vue中 onmouseenter,onmouseleave,onmouseover,onmouseout的区别
今天在学Vue视频的时候,提到了这四个触发事件,我就想做下笔记: 1.onmouseenter和onmouseleave是一组:当鼠标进入指定区域的时候触发,但是不支持冒泡,进入或者离开子组件都不触发 ...
- [noip2014]P2312 解方程
P2312 解方程 其实这道题就是求一个1元n次方程在区间[1, m]上的整数解. 我们枚举[1, m]上的所有整数,带进多项式中看看结果是不是0即可. 这里有一个技巧就是秦九韶算法,请读者自行查看学 ...
- docker-jenkins SSH Publishers时踩的坑
source相对路径问题,不是 /var/jenkins_home/workspace/build-renren/target/renren-fast.war 或环境变量,而是 target/re ...
- (转)浅谈 Linux 内核无线子系统
前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...