【 PHP 】PHP8に入門してみた 35日目 PHPの基本 ( 変数 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

変数

興味深い可変変数

可変変数は参考書通り、変数名を変数の値によって決める・・・動的に変数を決定できるということです。
すごい!とてもびっくりしました😯
早速試してみましたよ。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php
    // print命令は指定された文字列を表示するための命令です。
    $msg = 'こんにちは、変数の世界! <br />';

    print $msg;
    print 'こんにちは、皆さん! ';

    $hoge = 'PHPは';
    $fuga = '世界イチ!';
    // ★
    $x = 'fuga';
    print($$x);
    // ★
    $x = 'hoge';
    print($$x);
    ?>
</body>

</html>

情報通り、変数名を変数の値できめることができました!(あたりまえ)

$$xでもよいようですが今後のPHPの機能を鑑みて${$x}と記述した方がよさそうですね。
この機構はクラスや関数でも利用可能とのこと。
超ダイナミックなことができますね。
頭が追い付かないほど興奮しました。
いろいろ楽しい実装ができそう😉

メモ

他の言語でもできるのでしょうか?
コンパイル系の言語(Java, C#)はできないですかね。

スクリプト系のPythonはexecという関数で可変変数を実現できるようですね。
【Python】変数名を動的に変更して変数を作成する方法 – exec() | naoの学習&学習 (learning-nao.com)

Rubyはeval関数でしょうか。
Rubyで連番の変数を動的に作成 | EasyRamble

PHPPHP

Posted by raika@blog