php数组记录
1. php数组提交数据的问题
这个很简单啊,文本框用[]可以直接用获取数组格式,例如
产品1:<inputtype="text"name="name[]">
<inputtype="text"name="price[]">
产品2:<inputtype="text"name="name[]">
<inputtype="text"name="price[]">
在php里用$_POST['name']就能获取产品名称这个数组,然后用循环遍历这个名称数组,把产品信息 重组成新数组。
foreach($_POST['name']as$k=>$v){
$data[$k]['name']=$_POST['name'][$k];
$data[$k]['price']=$_POST['price'][$k];
}
这个$data就是所有产品数据,数据完整性就自己去把控了
2. 怎么在php中输出数组中的值
1、在test.php文件内,使用header设置test.php执行的搜猜伏编码为utf8,避免输出中文的时候出现乱码。
3. 在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 )
4. 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");
5. 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;
}
}
6. PHP遍历数组的几种方法
PHP中遍历数组有三种常用的方法:
一、使用for语句循环遍历数组;
二、使用foreach语句遍历数组;
三、联合使用list()、each()和while循环遍历数组。
这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。
希望回答对你有帮助,如果有疑问,请继续追问