PHP7の一様変数構文
古いバージョンのPHPでは、不整合の問題に直面していました。例:$ {$ first [‘name’]}。この構文は混乱を招く可能性があります。または、構文に一貫性がないと言えます。不整合の問題を克服するために、PHP7は「一様変数構文」と呼ばれる新しい構文を追加しました。
一様変数構文は、変数を左から右に評価します。一様変数構文を使用するには、中括弧を追加する必要があります。たとえば、
echo ${$first[‘name’]};
一様変数構文を使用すると、演算子を組み合わせることができます。また、古い評価が使用されている場合は、一部の式の下位互換性が失われる可能性があります。
例
<?php $x = (function() { return 20 - 10; }) (); echo "$x\n"; ?>
出力
上記のPHPプログラムの出力は次のようになります。
10
注: 上記のプログラムはすぐに関数式を呼び出します。
一様変数構文は、既存の構文の新しい組み合わせを使用します。たとえば、
$foo([‘bar’])();
一様変数構文は、関数によって返される文字列の文字を逆参照できます。
[$obj, $obj1] [0]->pro;
場合によっては、PHP 7はネストされた二重コロン(::)、
をサポートします。$foo[‘bar’]::$baz;
ネストされたメソッド/関数呼び出し
ネストされたメソッドと関数の呼び出し、または任意の呼び出し可能オブジェクトを使用して、括弧を2倍にすることができます。
foo()(); //return by a function callable $foo->bar()(); // return by an instance method Foo::bar()(); // static method $foo()(); // return by another callable
任意の式の間接参照
PHPでは、括弧を含む有効な式を逆参照できるようになりました。たとえば、
(exp) [‘foo’] ; // It will access an array key (exp)->foo; // This will access the property (exp)->foo(); // It will call to a method etc.
例
<?php function emp() { echo "This is emp() \n"; }; function dept() { echo "This is dept() \n"; return emp; }; function sub() { echo "This is sub()\n"; return dept; }; sub(); echo "----------------\n"; sub()(); echo "----------------\n"; sub()()(); ?>
出力
上記のプログラムの出力は-
になりますThis is sub() ------------- This is sub() This is dept() ------------- This is sub() This is dept() This is emp()
-
PHP変数「11:00AM」をMySQL時間形式に変換しますか?
DateTimeを使用して、PHP変数「11:00 AM:をMySQL時間形式に変換します。 PHPコードは次のとおりです- $phpTime = '11:00 AM'; echo('The PHP Time Format is ='); echo ($phpTime); $timeFormat = DateTime::createFromFormat( 'H:i A', $phpTime); $MySQLTimeFormat = $timeFormat->format( 'H:i:s'); echo ('
-
PHPのextract()関数
extract()関数は、変数を配列から現在のシンボルテーブルにインポートします。正常に抽出された変数の数を返します。 構文 extract(arr, rules, prefix) パラメータ 到着 −指定された配列 ルール −無効な変数名の処理方法を指定します。可能な値は次のとおりです- EXTR_OVERWRITE −デフォルト。衝突すると、既存の変数が上書きされます EXTR_SKIP −衝突時に、既存の変数は上書きされません EXTR_PREFIX_SAME −衝突時に、変数名にプレフィックスが付けられます EXTR_PREFIX_