2012-03-12 24 views
0

何らかの理由で、次の行に括弧の不均衡がある構文エラーが表示され、その理由が表示されません。()の不均衡

if(isset($this->uri->segment(3)) AND ((empty($this->uri->segment(3))||($this->uri->segment(3) === FALSE)||(trim($this->uri->segment(3)) == ''))) 
+3

オープニングが12個あり、閉じ括弧が11個しかありません。 – Gumbo

+0

慎重に – thetaiko

+1

ところで:['isset'](http://php.net/isset)と[' empty'](http://php.net/empty)は変数でしか動作しません。 – Gumbo

答えて

5
if(
    isset(
    $this->uri->segment(3) 
) AND (
    (
     empty(
     $this->uri->segment(3) 
    )||(
     $this->uri->segment(3) === FALSE 
    )||(
     trim(
      $this->uri->segment(3) 
     ) == '' 
    ) 
    ) 
) 

あなたのifを閉じるのを忘れていました。

+0

Upvoteの制限に達しましたが、そのようなフォーマット自体がそのような問題を解決する方法を教えています:) – Sarfraz

+0

論理は意味を成さない、 'empty()'は他の2つの条件を処理します。 'if(空($ var)|| $ var === FALSE)'はまったく冗長です。 –

+0

@Madmartigan:私の問題ではありません。 –

1

Codeigniterを使用しているようです。あなたはこれを必要以上に複雑にしました。次にこれを減らすことができます:デフォルトでは

if(! $this->uri->segment(3)) 
{ 
    // do something 
} 

http://codeigniter.com/user_guide/libraries/uri.html

セグメントが存在しない場合、関数はFALSE(ブール値)を返します。

CodeigniterのURIセグメントは決して空の文字列ではないので、それに心配する必要はありません。それらをトリムする必要もありません。

さらに、''FALSEの両方がempty()であるため、余分なタイプのチェックは必要ありません。

+0

ありがとうございます。 –

+0

私はこのためのルートに問題があります。 $ route ['pmsystem/viewmessage /(:num)'] = 'pmsystem/viewmessage/$ 1'; http://www.kansasoutlawwrestling.com/kowmanager/pmsystem/viewmessage/1にあるページの場合、1はメッセージのIDです –

+0

あなたは確かにそのKOWマネージャーで長年働いています。どのような問題がありますか?それが何であれ、このスレッドの中には何も関係していません。 –

関連する問題