6

私はこれをしたい:

$matched_tags[$tag]++

ループ中に特定の $tag が見つかった回数を追跡する簡単な方法として。

これは、インデックスが定義されていないため、新しい $tag が初めて検出されたときに NOTICE をスローしているように見えます。PHP は親切にもそれを自動有効化し、0 に設定してポストインクリメントしますが、とにかく NOTICE をスローします。

現在、ベストプラクティスとして通知をオンにして開発するのが好きなので、通知を抑制したくありません。しかし、私がしていることは注目に値するものではありません。

私は本当にしなければならないのですか?

if ( ! isset ( $matched_tags[$tag] ) ) $matched_tags[$tag] = 0;
$matched_tags[$tag]++;

ああ、それはとても痛いです。もっとエレガントな方法があることを教えてください。そうしないと、Perl に切り替えることを誓いますので、助けてください。

4

3 に答える 3

2

今のところ @ を使用してエラーを抑制します。

@$matched_tags[$tag]++;
于 2013-10-24T00:06:59.867 に答える
1

三項演算子はそれほど苦痛ではありませんか?

array_key_exists( $tag, $matched_tags ) ? $matched_tags[$tag]++ : $matched_tags[$tag] = 1;
于 2013-10-24T00:00:40.803 に答える