-1

$front->getRequest()->getParams()URLパラメーターを取得するために使用しています。彼らはこのように見えます

Zend_Debug::dump($front->getRequest()->getParams());

array(4) {
  ["id"] => string(7) "3532231"
  ["module"] => string(7) "test"
  ["controller"] => string(6) "index"
  ["action"] => string(5) "index"
}

preg_match_allこれを実行して、次のような正規表現を使用してID番号のみを取得することに興味があります([\s0-9])+

何らかの理由で、その番号を特定できません。

id配列に同様の値がさらに存在する可能性がありますがpreg_match_all、新しい配列でそれらを返す必要があります

何か案は?

ありがとう

4

3 に答える 3

3

array_filter()はここに行く方法です。

$array = array_filter($array, function($value) {
    return preg_match('/^[0-9]+$/',$value);
});

パフォーマンスのために preg_match() を is_numeric() に置き換えることもできます。

$array = array_filter($array, function($value) {
    return is_numeric($value);
});

それは同じ結果を与えるはずです。

于 2012-06-01T21:32:12.873 に答える
2

配列をキャプチャして、必要な要素にアクセスできないのはなぜですか?

$params = $front->getRequest()->getParams();
echo $params['id'];
于 2012-06-01T21:47:51.290 に答える