当前位置:首页 » 编程语言 » php迭代数组

php迭代数组

发布时间: 2025-02-10 21:19:35

A. 如何用php创建一个无限遍历数组,并打印

<?php
/*
无限遍历数组,建立一个函数,实现函数的自我嵌套,
从而实现打印多维数组。
应该用for循环语句。
*/
/*
$shz为函数中函数参数,用于接收外界数组。
*/
function wxxh($shz) //函数名:wxxh(),依旧使用汉语拼音:无限循环的简写。
{
foreach($shz as $val) //$shz为数组的简写。
{
if(is_array($val))
{
wxxh($val);
}
else
{
echo $val."OK!"."<br>";
}
}
}
$shzone = array(array(array(array("a","b"),"c","d"),"e","f"),"g","h");
echo wxxh($shzone); //$shzone 为正式数组的名称:汉语拼音的简写加上英文one--数组1。

B. PHP遍历数组的几种方法

PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。
希望回答对你有帮助,如果有疑问,请继续追问

C. 在php中遍历一个数组,并将其存入一个一维数组中,

$result=Array (0 => Array ( 'days' => 20131217 ) ,
1 => Array ( 'days' => 20131218 ) ,
2 => Array ( 'days' => 20131219 ) ,
3 => Array ( 'days' => 20131220 ) ,
4 => Array ( 'days' => 20131221 ) ,
5 => Array ( 'days' => 20131222 ) ,
6 => Array ( 'days' => 20131223 ) ,
);

foreach($result as $key=>$value){
$newarr[]=$value['days']; //放入一维数组newarr
};

print_r($newarr);

//Array ( [0] => 20131217 [1] => 20131218 [2] => 20131219 [3] => 20131220 [4] => 20131221 [5] => 20131222 [6] => 20131223 )

D. php如何操作数组遍历追加数据

可以遍历两次$a, 第一次取出所有的父级栏目,放入$newarr中,第二次将子栏目放入对应
的父级栏目数组中, 最后使用$newarr就行
不过这是建立在只有二级栏目的基础上,如果有三级栏目的话就还要麻烦些了

$newarr = array();
foreach ($a as $key => $value)
{
if($value['fID'] == 0)
{
$cid = $value['cID'];
$newarr[$cid] = $value;
unset($a[$key]);
}
}

foreach ($a as $key => $value)
{
if($value['fID'] != 0)
{
$fid = $value['fID'];
$newarr[$fid]['zilanmu'][] = $value;
}
}

E. php中遍历数组方法


遍历数组有多种实现方法:
1、连续索引的数组:
实现连派码续数组的遍历很简单,因为数组的索引是连续的(0 1 2),所以我们可以首先用count()函数计算出数组中元素的个数拿羡,然后建立一个for循环,如下:
$subject=array("maths","english","physics");
$num_elements=count($subject); //这时$num_elements的值为3
for ($i=0;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
结果为:
maths
english
physics
这里我们给$i赋了初值为0,是因为数组元素的索引默认为0 1 2,如果第一个元素的索引不为0,我们只需:
$subject=array(3="maths","english","physics");
$num_elements=count($subject)+3; //注意这里
for ($i=3;$i$num_elements; ++$i){
echo ("$subject[$i]
");
}
这里将$i赋了值3,同时$num_elements=count($subject)+3,这里很容易被忽视。
2 、非连续索引的数组:
$subject=array("m"="maths","e"="english","p"="physics");
这里建立了一个了数组,索引值分别为"m" "e " "p",这样的数组怎么遍历?
方法一:使用list()和each()函数组合
$subject=array("m"="maths","e"="english","p"="physics");
reset($subject); //把指针复位到第一个消羡拍元素上
while (list($key,$value)=each($subject)){
echo "$key is $value
"; }
方法二:使用foreach语句
$subject=array("m"="maths","e"="english","p"="physics");
foreach($subject as $key = $value){
echo "$key is $value
";
}
?
是不是比list()和each()简单。
foreach 与 list()each()组合的不同之处:
foreach 是在原来数组的拷贝上执行操作的。他的优点是不会影响当前数组指针的位置,缺点是对于一个很大的数组,复制所花的时间很长。
list() each()组合很明显用他遍历、之后,指针的位置改变了。
方法三:使用array_walk()函数遍历数组
array_walk()是让使用者自定义函数,处理阵列中的每一个元素。
$subject=array("maths","english","physics");
function printElement($element){
print ("$element
");
}
array_walk($subject,"printElement");

热点内容
c语言数据类型定义 发布:2025-02-11 09:00:38 浏览:237
一个小时如何选择服务器 发布:2025-02-11 08:58:14 浏览:442
网易我的世界服务器推荐国服 发布:2025-02-11 08:56:34 浏览:241
电视父母锁屏密码应该会是什么 发布:2025-02-11 08:36:42 浏览:892
梅花适合用哪些植物进行配置 发布:2025-02-11 08:30:54 浏览:252
安卓手机如何像苹果一样弹窗 发布:2025-02-11 08:26:33 浏览:912
压缩文件扫码 发布:2025-02-11 08:20:55 浏览:258
小米5安卓70怎么分屏 发布:2025-02-11 08:00:58 浏览:140
访问二维码 发布:2025-02-11 08:00:11 浏览:882
腾讯云香港服务器搭建 发布:2025-02-11 07:53:44 浏览:794