Php 从数组中提取所需项

Php 从数组中提取所需项,php,filtering,Php,Filtering,如果我有一个结构如下的数组: [0] => bad [1] => good [2] => bad [3] => bad [4] => good [5] => bad [6] => bad [7] => good [8] => bad [9] => bad [10] => good [11] => bad 我需要一个只包含好项目的数组,如: [0] => good [1] => good [2] => go

如果我有一个结构如下的数组:

[0] => bad
[1] => good
[2] => bad
[3] => bad
[4] => good
[5] => bad
[6] => bad
[7] => good
[8] => bad
[9] => bad
[10] => good
[11] => bad
我需要一个只包含好项目的数组,如:

[0] => good
[1] => good
[2] => good
[3] => good
[4] => good
我该怎么办?

您可以使用以下功能:

$good_value ="good";
$new_array = array_filter($old_array,function($value)use($good_value){
                                 return $value === $good_value;
                                });

您还可以使用一种利用和:

或者,如果要保持原始索引:

$goodArray = array();
foreach($array as $key => $value) {
    if ($value = "good") {
        $goodArray[$key] = $value;
    }
}

你可以用一个循环

$newArray = array();
foreach($oldArray as $value) {
  if($value == 'good')
    $newArray[] = $value
}
如果你需要保留钥匙的话

$newArray = array();
foreach($oldArray as $key=>$value) {
  if($value == 'good')
    $newArray[$key] = $value
}
使用PHP的函数

function good($var)
{
    return($var == "good");
}
$ary = array_filter($ary, "good");
print_r($ary);
如果需要重新索引数组,只需添加以下内容:

$ary = array_values($ary);

您的意思是对样本输出中的条目重新编号吗?
$ary = array_values($ary);