6363


いつもお世話になっております。  
Web系超初心者のWeb_beginnerです。

HTMLに埋め込まれたPHPのコードで構造が分からない箇所があります。

[code]

    <td><?php if ($zzData['zipcode']) echo '〒' .$zzData['zipcode'] .' '; echo $zzData['prefecture'] .$zzData['address']; ?></td>   
    
[/code]

それは上記のようなコード（もちろん変数名などは変えています）なのですが・・・

  1. if文の構造について   
上記のコードですが、if文はどのように働いているのでしょうか？「zipcode」があったら「〒zipcode」を表示しないさい、という感じの意味なのでしょうか？

  2. `.' ';`について  
if文の途中で`.' ';`と記述があるのですが、これはどういう意味なのでしょうか？

  3. `.$`について  
変数名の前に`.$`（ダラーの前にドットが付いている）とありますが、どういった意味で変数の前にドット（.）が付いているのでしょうか？

PHPの本や他のWebサイトにも、記載例や説明がなかったので、こちらのサイトに教わりにきました。

どうぞご教授よろしくお願い致します。


CC BY-SA 3.0
2015-02-12T05:23:31.023
6362
2015-02-12T09:15:48.107
2015-02-12T05:46:10.047
7926
7634
question
php html
PHPのif文の構造について教えていただきたいことがあります。


HTML の td タグと一緒になっていますが、td タグは今回の説明に必要ないため省きます。  
PHP の箇所だけ抜き出し、改行を入れ、ブロックを追加してみると以下のようになります。

[code]

    if ($zzData['zipcode']) {
        echo '〒' .$zzData['zipcode'] .' ';
    }
    echo $zzData['prefecture'] .$zzData['address'];
    
[/code]

  1. if文の構造について  
これはその通りです。郵便番号があった場合のみ、"〒000-0000" のように郵便番号を表示していると思います。

  2. `.' ';` について  
PHP で文字列を連結する際に `.` にて連結できます。  
上述の `.' ';` は、郵便番号の後ろに半角空白を連結しているのでしょうね。

  3. `.$`について  
PHP における `$xxxx` ( ダラーから始まる文字 ) は変数を表しますが、それをただ単に `.` で文字列連結しているだけです。

3 の `.$` について仰っている箇所は以下の

> echo $zzData['prefecture'] .$zzData['address'];

2回目の `$zzData` の前にある `.$` だと思いますが、これは "県(prefecture)" と "住所(address)"
を文字列連結しています。

具体的な動作として、変数 `$zzData` に郵便番号('zipcode')があれば以下のような出力になります。

`〒000-0000 xxxx県xxxx市...`

変数 `$zzData` に郵便番号が無ければ以下のように出力されます。

`xxxx県xxxx市...`

以上となります。


CC BY-SA 3.0
2015-02-12T05:34:11.643
6363
2015-02-12T09:15:48.107
2015-02-12T09:15:48.107
7926
7926
6362
answer


1.  
その通りです。  
<http://www.tryphp.net/2011/10/11/phpref-ronrichi/>  
C言語のIF文に近い感じでしょうか、変数に値がセットされていると  
大体のケースはTRUEと判定されます。

2.  
PHPで「.」ドットは文字列結合に使います。つまりスペース一文字を結合しています。

3.  
2と同様で文字列結合に使っています。


CC BY-SA 3.0
2015-02-12T05:39:35.690
6364
2015-02-12T05:39:35.690
8239
6362
answer