php 数组剔除部分数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 数组剔除部分数据?相关的知识,希望对你有一定的参考价值。

我生成的数组不知道为何每隔一个就多了一个值
'lishiip' =>
array (
0 => '64.32.28.254|2020-04-15',
1 => 1,
2 => '64.32.28.254|2020-04-02',
3 => 1,
4 => '64.32.28.254|2020-06-05',
5 => 1,
6 => '64.32.28.254|2020-08-29',
7 => 1,
8 => '64.32.28.254|2020-08-29',
),就这种,能不能把=>1的全部删掉,然后给它重新排序一下

参考技术A

可以使用php的函数:array_filter,例如:

$arr = array (

    0 => '64.32.28.254|2020-04-15',

    1 => 1,

    2 => '64.32.28.254|2020-04-02',

    3 => 1,

    4 => '64.32.28.254|2020-06-05',

    5 => 1,

    6 => '64.32.28.254|2020-08-29',

    7 => 1,

    8 => '64.32.28.254|2020-08-29',

);

$arr = array_filter($arr, function ($val)

    return is_numeric($val) ? false : true;

);

var_dump($arr);

参考技术B $array = array();//定义一个数组
//假设$lishiip为所要处理数组
for($i=0;$i<count($lishiip);$i++)
if($i%2==0)
$array[] = $lishiip[$i];

本回答被提问者采纳
参考技术C 你可以看下php的冒泡排序,把最大的一个剔除掉就行了

数组剔除元素后的乘积

给出A=[1, 2, 3],返回 B为[6, 3, 2]

 

public ArrayList<Long> productExcludeItself(ArrayList<Integer> A) {
    ArrayList<Long> rst = new ArrayList<>();
    for(int i=0; i<A.size(); i++){
        Long cur = 1L;
        for(int j=0; j<A.size(); j++){
            if(j==i)
                continue;
            cur *= A.get(j);
        }
        rst.add(cur);
    }
    return rst;
}

 

以上是关于php 数组剔除部分数据?的主要内容,如果未能解决你的问题,请参考以下文章

PHP不会将完整文件读入数组,只有部分

PHP快速排序

PHP:数组——二维转一维,二维转三维,将特定的数据作为键名

PHP未设置嵌套数组的部分

php之分页类代码

部分删除/销毁 $_SESSION 数据? PHP