可変変数とはドル記号を2個付けた形の変数です。
どう働くか
一言で言うと変数に入れた値を変数名として扱うことが出来ます。
- コード
<?php $test = 'sitemap'; $$test = 'class="current"'; echo $test . '<br>'; echo $sitemap . '<br>'; ?>
- 出力
sitemap class="current"
$testに'sitemap'が代入され、「$$test」は「$sitemap」と同じ変数になります。
$$testに'class="current"'を代入することで、$sitemapに同じ文字が代入されています。
ナビにclass="current"を付けてみる
<div id="nav"> <ul> <li<?= $index; ?>><a href="/">HOME</a></li> <li<?= $company; ?>><a href="/company/">会社概要</a></li> <li<?= $business; ?>><a href="/business/">業務内容</a></li> <li<?= $example; ?>><a href="/example/">実績</a></li> <li<?= $privacy; ?>><a href="/privacy/">プライバシーポリシー</a></li> </ul> </div>
各ページのHTMLやphpなどの頭に以下のコードを追加するだけで$slugの値と同じ変数にclass="current"が入ってくれます。
<?php $slug = 'index'; $$slug = ' class="current"'; ?>
そしたらナビの部分のソースをinclude_once()すればもっと楽になりますね。
ちなみにWordPressであれば以下のようにスラッグを自動取得で代入させることも出来ます。
<?php $slug = get_post($wp_query->post->ID)->post_name; $$slug = ' class="current'; ?>
PHPがちょこっと使えると本当にサイトの作成が楽になりますね。自分はまだまだ素人なのでこれからもっと精進して行きたいです。
- 関連記事
-
-
phpでローカルか否かを判別する 2017/03/30
-
インスタにアップした画像をPHPで引っ張る 2016/10/27
-
PHP 可変変数「$$」で変数の値を変数名にする 2015/02/26
-
秒数をH:iの形式に変換 2015/02/12
-
PHP URLとメールアドレスを自動でaタグで囲む 2015/02/09
-