如何仅保留数组usign PHP中的每一秒元素?
下面是我制作的数组的一部分。如何使用ign PHP只保留第二个元素 到目前为止,我一直在尝试这种方法,但运气不佳,可能这取决于阵列的结构,我不明白如何仅保留数组usign PHP中的每一秒元素?,php,Php,下面是我制作的数组的一部分。如何使用ign PHP只保留第二个元素 到目前为止,我一直在尝试这种方法,但运气不佳,可能这取决于阵列的结构,我不明白 $size = count($array); $result = array(); for ($i = 0; $i < $size; $i += 2) { $result[] = $array[$i]; } var_dump($result); 在其他元素上使用unset如何 <?php $array = array('1','1'
$size = count($array);
$result = array();
for ($i = 0; $i < $size; $i += 2) {
$result[] = $array[$i];
}
var_dump($result);
在其他元素上使用
unset
如何
<?php
$array = array('1','1','2','2','4','4','5','5');
for($i = count($array) - 1; $i > 0; $i -= 2){
unset($array[$i]);
}
使用
编辑:
当然,您也可以使用“偶数”方法
编辑2:
更改以匹配op中的代码。
从$array到$array[0]
编辑3:
添加一个缺少的分号您可以分享您尝试过的内容吗?每隔一个还是唯一的?现在,这里有一个如果你见过的话。你可能会得到preg\u match\u all
以你想要的方式返回它。最好的解决方案可能是修复你创建这个数组的方式,而不是在最初的错误array\u unique
删除所有重复项后尝试冻结数组,而他只想移除其他元素。因此,使用array\u unique
可能会删除太多的值。但如果查看代码,它只会处理一半的数组,然后将其减少一半。因此,您的结果将是ArrayLight的四分之一,已修复。请注意,新的解决方案只有在数组的元素数为偶数时才起作用。否则,$i
应从计数($array)-2开始?很有趣,你测试过了吗。是的!这也不起作用。数组未更改虽然这没有错,但无法使用他的输入。这是一个嵌套数组。然后将$array[0]作为参数传递。请将其放入答案中?您好。至少需要PHP5.6才能使用标志数组\过滤器\使用\键。如果它不起作用,它也不知道答案。但是,请查看php.net链接,以了解有关array_filter()的更多信息。
<?php
$array = array('1','1','2','2','4','4','5','5');
for($i = count($array) - 1; $i > 0; $i -= 2){
unset($array[$i]);
}
function odd($var)
{
return($var & 1);
}
$array[0] = array_filter($array[0], "odd", ARRAY_FILTER_USE_KEY);