全ての定義済の変数を配列で返す

全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのはunsetします。
ちなみに似たようなのでcompactという関数がPHPには存在します。

何に使用する場合に便利かは人それぞれ違いますが
自分の場合はテンプレートエンジンを使用するときに重宝してます。
テンプレートエンジン・・・TwigやSmartyなど

<?php

$a = "abc";
$b = array(1,2,3);
$c = 123;

$vars = get_defined_vars();
unset($_COOKIE);
unset($_POST);
unset($_GET);
unset($_FILES);
unset($GLOBALS);
foreach ($vars as $key => $value) {
    var_dump($key);
    var_dump($value);
}
//...
var_dump($vars);

 

javascriptを勉強中

var a = 3;
var b = 10;
var obj = {
        hoge:function(a){
            a = a + a;
            return a;
        },
        a:a = a && 5,
        b:b = b || 3
    };
    
console.log(obj.hoge(2));
console.log(obj.a);
console.log(obj.b);

上記のCodeを動かすと仕事と表示されます(笑)、4,5,10と表示されます。
何故そうなったかを考えるとキリがないのでそういうものだと
思ったほうが良いかもしれないです。

説明するとhogeはオブジェクトです。あとは変数とIF文の省略系を
記述しているだけです、実際は=もいらないですが・・・。
わかりやすく自分なりに記載したつもりです。

javascriptライブラリってこういうのが何百行も記載して成り立っていますが
概念はこういう事です。自分は基本的に概念しか覚えないのです。
何故、そうしているか・・・自分が怠惰な人間だからです。