1

最初の文字が特定の文字、この場合は文字 D である場合に要素の設定を解除する方法を見つけようとしています...そのようなことを行う配列関数があるかどうか、または preg が置換されているかどうかはわかりませんトリックをしますか?

[0] => Aaron [1] => Bob [2] => Carl [3] => Dale [4] => Devin [5] => Dylan

文字「D」で始まるすべての単語の設定を解除すると、次のようになります。

[0] => Aaron [1] => Bob [2] => Carl
4

4 に答える 4

3

手動ループはすでにタスクを完了しています。ただし、ワンライナーオプションとして:

 $array = preg_grep('/^(?!D)/', $array);
于 2011-06-02T18:30:59.017 に答える
1

array_filter関数を使用できます。

function filter_firstchar($var){
    return $var[0] != 'D';
}

$result = array_filter($arr, 'filter_firstchar');

フィルタリングする文字が変更される場合は、非常に基本的なフィルタリング クラスを作成できます。

class Filter_FirstChar {
    private $char;
    function __construct($char){
        $this->char = $char;
    }
    function filter($var){
        return $var[0] != $this->char;
    }
}

$result = array_filter($arr, array(new Filter_FirstChar('A'), 'filter'));
于 2011-06-02T18:29:05.007 に答える
1
foreach($array as $key => $name)
{
    if(substr($name,0,1) == "D")
    {
        unset($array[$key]);
    }
}

あなたにとってうまくいく方法の1つです。

于 2011-06-02T18:30:02.593 に答える
1
$i = 0;
$n = count($array);
while ($i < $n) {
  if ($array[$i][0] == 'D')
    unset($array[$i]);
  ++$i;
}
于 2011-06-02T18:27:26.167 に答える