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