Php 从数组中删除多个元素并重新索引

Php 从数组中删除多个元素并重新索引,php,arrays,indexing,array-unset,Php,Arrays,Indexing,Array Unset,我是否可以删除前三个元素以及value不等于2的所有剩余元素?语言是php print_r($array) 输出 Array ( [0] => Array ( [name] => aa [value] => 0 ) [1] => Array ( [name] => db [value] => 1 ) [2] => Array ( [name] => bc [value] => 2 ) [3

我是否可以删除前三个元素以及
value
不等于2的所有剩余元素?语言是php

print_r($array)
输出

Array ( 
    [0] => Array ( [name] => aa [value] => 0 )        
    [1] => Array ( [name] => db [value] => 1 ) 
    [2] => Array ( [name] => bc [value] => 2 )
    [3] => Array ( [name] => ba [value] => 3 ) 
    [4] => Array ( [name] => ba [value] => 0 ) 
    [5] => Array ( [name] => bc [value] => 1 )    
    [6] => Array ( [name] => aa [value] => 2 ) 
    [7] => Array ( [name] => cb [value] => 3 )
    [8] => Array ( [name] => ca [value] => 0 ) 
    [9] => Array ( [name] => dc [value] => 1 ) 
    [10] => Array ( [name] => db [value] => 2 )
    [11] => Array ( [name] => aa [value] => 3 )
    [12] => Array ( [name] => dd [value] => 0 )
    [13] => Array ( [name] => db [value] => 1 )
    [14] => Array ( [name] => bb [value] => 2 )
    [15] => Array ( [name] => ac [value] => 3 )
) 
我还需要重新编制索引,使其从0开始

Array ( 
    [0] => Array ( [name] => aa [value] => 2 ) 
    [1] => Array ( [name] => db [value] => 2 )
    [2] => Array ( [name] => bb [value] => 2 )
) 

您可以这样做:

$new_array = array();

foreach ($array as $k => $v) {
    if ($k > 2 && $v['value'] == 2) {
        $new_array[] = $v;
    }
}

print_r($new_array);

您可以这样做:

$new_array = array();

foreach ($array as $k => $v) {
    if ($k > 2 && $v['value'] == 2) {
        $new_array[] = $v;
    }
}

print_r($new_array);

您可以这样做:

$new_array = array();

foreach ($array as $k => $v) {
    if ($k > 2 && $v['value'] == 2) {
        $new_array[] = $v;
    }
}

print_r($new_array);

您可以这样做:

$new_array = array();

foreach ($array as $k => $v) {
    if ($k > 2 && $v['value'] == 2) {
        $new_array[] = $v;
    }
}

print_r($new_array);


这取决于语言。@ScottHunter。谢谢,我已经解决了这个问题。是的,但是你必须编写一些代码来完成它。尝试一些东西,告诉我们它是如何进行的,如果它不起作用,那么我们可以提供帮助。它总是前三个要素吗?或者只删除那些没有值
2
?@JasonMcCreary是的,前三个元素无论如何都应该被销毁,第四个元素中只有值为2的元素应该保留。这取决于语言。@ScottHunter。谢谢,我已经解决了这个问题。是的,但是你必须编写一些代码来完成它。尝试一些东西,告诉我们它是如何进行的,如果它不起作用,那么我们可以提供帮助。它总是前三个要素吗?或者只删除那些没有值
2
?@JasonMcCreary是的,前三个元素无论如何都应该被销毁,第四个元素中只有值为2的元素应该保留。这取决于语言。@ScottHunter。谢谢,我已经解决了这个问题。是的,但是你必须编写一些代码来完成它。尝试一些东西,告诉我们它是如何进行的,如果它不起作用,那么我们可以提供帮助。它总是前三个要素吗?或者只删除那些没有值
2
?@JasonMcCreary是的,前三个元素无论如何都应该被销毁,第四个元素中只有值为2的元素应该保留。这取决于语言。@ScottHunter。谢谢,我已经解决了这个问题。是的,但是你必须编写一些代码来完成它。尝试一些东西,告诉我们它是如何进行的,如果它不起作用,那么我们可以提供帮助。它总是前三个要素吗?或者只删除那些没有值
2
?@JasonMcCreary是的,前三个元素无论如何都应该被销毁,第四个元素中只有值为2的元素应该保留。这将复制
$v['value']
等于
2
的项目。如果你想删除这些项目(我理解这个问题),那就
=反过来,我想删除不等于
2
的值。我还不够清楚。你帮我很好地理解了这一点。如果
value
parent
数组中埋得更深,
If($k>2和$v['parent']['value']==2)
也可以工作。这将复制
$v['value']
等于
2
的项目。如果你想删除这些项目(我理解这个问题),那就
=反过来,我想删除不等于
2
的值。我还不够清楚。你帮我很好地理解了这一点。如果
value
parent
数组中埋得更深,
If($k>2和$v['parent']['value']==2)
也可以工作。这将复制
$v['value']
等于
2
的项目。如果你想删除这些项目(我理解这个问题),那就
=反过来,我想删除不等于
2
的值。我还不够清楚。你帮我很好地理解了这一点。如果
value
parent
数组中埋得更深,
If($k>2和$v['parent']['value']==2)
也可以工作。这将复制
$v['value']
等于
2
的项目。如果你想删除这些项目(我理解这个问题),那就
=反过来,我想删除不等于
2
的值。我还不够清楚。你帮我很好地理解了这一点。如果
value
parent
数组中埋得更深,
If($k>2和$v['parent']['value']==2)
也可以工作。