0

次のような構造の配列がある場合:

[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

どのようにできるのか ?

4

4 に答える 4

2

array_filter関数を使用できます:

$good_value ="good";
$new_array = array_filter($old_array,function($value)use($good_value){
                                 return $value === $good_value;
                                });
于 2012-09-24T16:46:12.010 に答える
0

foreachandを利用するアプローチを使用することもできますarray_push

$goodArray = array();
foreach($array as $value) {
    if $value = "good" {
        array_push($goodArray, $value);
    }
}

または、元のインデックスを維持したい場合:

$goodArray = array();
foreach($array as $key => $value) {
    if ($value = "good") {
        $goodArray[$key] = $value;
    }
}
于 2012-09-24T16:48:39.867 に答える
0

ループを使用できます

$newArray = array();
foreach($oldArray as $value) {
  if($value == 'good')
    $newArray[] = $value
}

キーを保持する必要がある場合

$newArray = array();
foreach($oldArray as $key=>$value) {
  if($value == 'good')
    $newArray[$key] = $value
}
于 2012-09-24T16:48:41.600 に答える
0

PHP のarray_filter()関数を使用します。

function good($var)
{
    return($var == "good");
}
$ary = array_filter($ary, "good");
print_r($ary);

配列のインデックスを再作成する必要がある場合は、これを追加するだけです:

$ary = array_values($ary);

コードパッドの例

于 2012-09-24T16:52:07.360 に答える