PHP语法$ {“{$ type} _method”} - php

我一直在读一本PHP5书,作者经常使用这种语法

${"{$something}_somethingelse"};

我不知道那是什么意思。它会动态生成一个变量名吗?

有人帮我吗?

参考方案

这是一种称为Variable variables的语言功能。

考虑以下代码:

$a = 'hello';

这很简单。它创建变量$a并将其值设置为'hello'

让我们继续:

$$a = 'world';
${$a} = 'world';

基本上,由于$a = 'hello',这两个语句等效于:

$hello = 'world';

因此,以下内容:

echo "$a ${$a}";

等价于:

echo "$a $hello";

大括号{ }

括号用于防止歧义问题的发生。考虑以下:

$$a[1] = 'hello world';

您是否要分配以$a[1]的值命名的变量,还是要分配以1命名的变量的索引$a

对于第一选择,您将这样编写:

${$a[1]} = 'hello world';

对于第二种选择:

${$a}[1] = 'hello world';

你的例子

现在,以您为例。

让我们考虑一下:

$something = 'hello';

这样使用您的示例:

${"{$something}_somethingelse"} = 'php rocks';

本质上等效于:

$hello_somethingelse = 'php rocks';

PHP:不推荐使用password_hash的'salt'选项 - php

我正在使用密码哈希进行注册。我需要手动创建Salt,以下是我使用的代码:$options = [ 'cost' => 11, 'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM) ]; $password = password_hash( $this->…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…