我有以下代码:
if ($_POST['submit'] == "Next") { foreach($_POST['info'] as $key => $value) { echo $value; } }
如何让foreach函数从数组中的第二个键开始?
对于相当小的数组,使用array_slice创建第二个:
foreach(array_slice($_POST['info'],1) as $key=>$value) { echo $value; }
foreach(array_slice($_POST['info'], 1) as $key=>$value) { echo $value; }
或者,如果您不想复制数组,则可以执行以下操作:
$isFirst = true; foreach($_POST['info'] as $key=>$value) { if ($isFirst) { $isFirst = false; continue; } echo $value; }
难道你不能解开数组......
所以,如果我有一个我不想要第一个实例的数组,我可以:
unset($array[0]);
这将从数组中删除实例.
如果您正在使用普通数组,我会说使用类似的东西
foreach (array_slice($ome_array, 1) as $k => $v {...
但是,由于您正在查看用户请求,因此您对可能返回参数的顺序没有任何实际保证 - 某些浏览器/代理可能会更改其行为,或者您可能只是决定修改您的表单.未来.无论哪种方式,忽略数组的顺序并将POST值视为无序哈希映射符合您的最佳利益,为您提供两个选项:
复制数组和unset
要忽略的键
循环遍历整个数组,并continue
在看到你想要忽略的键时