问题标签 [variable-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1227 浏览

php - 变量变量中的美元符号是否被视为取消引用运算符?

我正在向某人展示如何在 PHP 中创建可变变量变量(我只建议永远不要使用它们,这是一种可怕的做法,如果你在实际生产代码中使用可变变量变量,你就是一个坏人),他们问美元是否在这种情况下,符号充当解引用运算符。

它实际上并没有创建对其他变量的引用,所以我并不认为它是 deref 操作。变量变量的文档甚至根本没有提到引用。

谁是对的?我不认为变量变量正在创建引用,因此美元符号不是取消引用运算符。

以下是一些示例代码,供您欣赏(或给定内容的痛苦):

0 投票
3 回答
97 浏览

php - 变量变量、函数和类

我最近在 PHP 中发现了可变变量,不用说,它的用处是巨大的:

这让我开始思考,这让我们想到了我的问题:

既然我们可以有变量的名字,我们不能也有变量的函数吗?不是函数名称中的“函数”,而是(或多或少)如下:

或者,更好的是,变量类:

这有可能吗?

0 投票
3 回答
1683 浏览

php - PHP:通过变量变量设置会话变量

我想设置一个类似于以下内容的会话变量:

这确实设置$_SESSION['element']为等于value,但它似乎也清除了我的$_SESSION变量的其余部分,导致$_SESSION数组只包含新的键/值对。

如何使用变量变量写入会话而不使用它?

编辑:如果这不能做到,那就这样吧,我们可能不得不重组并以“正确”的方式做事。我只是想知道是否有一个简单的解决方法

0 投票
3 回答
5554 浏览

php - 从变量变量中调用定义的常量

我试图在一个单独的函数中引用一个定义的常量。我得到的错误是指未定义的变量和定义为每个 FOO 和 BAR 的常量的变量。

0 投票
3 回答
1226 浏览

php - 在 PHP 中使用可变变量是不好的做法吗?

例如,一个简单的 MVC 类型系统:

/api/class/method使用 重写为 PHP 变量.htaccess/nginx.conf,然后执行以下操作:

这是非常糟糕的做法吗?如果这是不好的做法,有人可以解释一下为什么吗?如果是这样,有没有更好的方法来做我正在做的事情?

编辑本质上,我使用变量变量的原因是为了简化核心系统的扩展——即——添加一个新的控制器既好又简单。我绝对理解允许在没有某种过滤器的情况下实例化基本上任何函数或类的安全风险。

'some_filter_here' 可能是允许的控制器列表 - 此处有些人提到的白名单。

0 投票
2 回答
139 浏览

php - 在简单的 PHP 函数中使用变量变量

前几天,我收到了一组庞大的数组,并被告知要制作一个带有一堆或选择/单选按钮的 HTML 页面,所以我编写了一些简单的函数来简化事情。

这是我生成非常大的 HTML 选择的功能。

这似乎不起作用,因为${$name}根本没有像我期望的那样调用任何东西/工作。我已经有一个解决方法,我只是通过函数调用传递数组,但它一直在困扰我,我在这段代码中的变量变量做错了什么。

编辑:为了给出一些上下文,这是在 joomla 视图中加载的,以构建用于输入设置的巨大 UI。这个函数在一个 lib 文件中,并与require_once另一个包含我使用的所有数组的文件一起加载。数据库仅保存这些设置的当前值,并且数组包含各种选择/单选/下拉菜单的所有可能选项,并且出于语言/翻译原因集中在单独的文件中。

澄清人们提出的一些问题,$name只包含所用数组的名称以及 HTML 选择/收音机/复选框输入的名称。$evalThis是一个包含数据库当前拥有的值的数组。

0 投票
2 回答
2256 浏览

javascript - JavaScript 中的变量变量

据我所知,这个特性在 PHP 中已经存在。让我们看看下面的 php 代码:

功能描述:

有时能够有变量变量名很方便。也就是说,可以动态设置和使用的变量名称。变量变量获取变量的值并将其视为变量的名称。在上面的例子中,red可以用作变量的名称。此时已经定义了两个变量并将其存储在 PHP 符号树中:$colorwith contents"red"$redwith contents "dark"

我的问题

这可以在java脚本中完成吗?

0 投票
1 回答
507 浏览

php - OO PHP将所有私有变量作为页面上的变量返回

我有以下类,它有很多私有变量。

我想将所有属性作为带有它们的值的变量返回,以便我可以预先填写表单字段。我有一个填充所有属性的数据库查询(经测试证明有效)。在我之前 OO 的日子里,我从数据库中检索信息,将其放入变量中,然后使用 compress() 发送和 extract() 来获取所有变量。这是可行的吗,就像我课堂上的 returnAttributes() 方法一样?

0 投票
1 回答
126 浏览

php - 变量全局变量?

我正在尝试自动清理全局变量数组的输入,如下所示:

但我得到:(Notice: Undefined variable: _REQUEST对于我正在尝试的所有全局变量等等)

做我想要完成的事情真的可能吗?

谢谢。

0 投票
4 回答
121 浏览

php - 变量变量的意外行为

我试图传递一个变量,其中包含我想要一个函数处理的超全局数组的名称,但我无法让它工作,它只会声称有问题的变量不存在并返回 null。

我已将测试用例简化为以下代码:

函数外部的 var_dump 按预期返回 $_SERVER 的内容。但是,函数中的 var_dump 会触发上面提到的错误。

添加global $_SERVER到函数并没有使错误消失,但是将 $_SERVER 分配给另一个变量并使该变量成为全局变量确实有效(见下文)

这是一个 PHP 错误,还是我只是做错了什么?