问题标签 [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.
php - PHP $_GET/$_POST 通过变量变量
我正在尝试使用变量变量动态访问 $_GET 和 $_POST 数组等。我尝试这样做的原因是,我可以在多个数组上执行类似的操作,而无需为每个数组声明特定的迭代。我有理由确定这是可能的,因为 PHP 的文档说它能够使用变量变量来动态访问数组,但是我无法让它工作。一个简单的演示是当我尝试验证某个属性是否已设置时。
当我运行上面的脚本时,我总是得到空值,但是当我静态地寻找所需的属性时,手动使用 $_GET 或 $_POST,我得到了所需的结果。我进行了三次检查$this->_array
,$property
他们返回了正确的字符串值。这些阵列是否无法用于此类访问,还是我做错了什么?
php - 变量变量+字段中的对象
我正在尝试对可变变量做一些事情,但我遇到了一个对象问题。想象一下这个类设置:
现在每个人都知道这段代码有效:
有没有可能我可以做这样的事情?:
注意:任何不使用 eval 功能的选项?
php - 使用变量变量将数据插入静态变量时出现PHP错误
我不太擅长这个,所以我敢肯定这是一个愚蠢的问题。
我有一堂课:
我从另一个类中调用它以进行调试(惊喜)。
来自 error.log 的 PHP 错误消息:
PHP 致命错误:无法使用 [] 读取第 1248 行的 /var/www/lib/lib.php
它指的是调试类中的上述指定行。
编辑:
我想要做的是使用变量变量(因此发布标题)来确定要向哪个静态数组添加数据。
即如果 $type == 'messages',那么 $$type == $messages。
所以我想要 self::$$type[] == self::$messages[]
或者如果 $type == 'errors',那么 $$type == $errors 和 self::$$type[] == self::$errors[]
php - 解析字符串中的变量
我在*.properties
文件中存储了一些字符串。一个字符串的例子是:
sendFrom=从 {$oEmails->agentName}向 {$oEmails->customerCount} 人发送电子邮件。
我的函数从中获取值sendingFrom
,然后在页面上输出该字符串,但是它不会自动解析其中的{$oEmails->agentName}
内容。有没有办法让我在不手动解析的情况下让 PHP 将变量从字符串转换为应有的值?
php - 获取对数组元素的引用,其中数组可以作为 $obj->$propName 访问
假设我们有这段代码(简化示例):
在这一点上,我想编写一个表达式,计算出对数组内值的引用。
是否有可能做到这一点?如果是这样,怎么做?
将“完成工作”但不是我正在寻找的答案是:
但是为什么要把它写成两个语句呢?好吧,因为这不起作用:
当然&$foo->items[0]
是另一个不可接受的解决方案,因为它修复了属性名称。
如果有人想知道奇怪的要求:我在一个循环中执行此操作,其中$foo
它本身是对图中某个节点的引用。任何涉及的解决方案$temp
都需要unset($temp)
事后进行,以便$temp
下一次迭代的设置不会完全弄乱图形;如果您对引用不是非常小心,则可能会忽略此unset
要求,因此我想知道是否有一种方法可以编写此代码,从而减少引入错误的可能性。
php - PHP中来自必需/包含文件的变量变量
我正在编写一个 MVC 框架(为了学习和发现,而不是实际打算使用它),我遇到了一个小问题。
我有一个config.php
文件:
我通过boot
类中的静态方法加载这些:
然后像这样加载路线:
捕获异常:
现在,如果我config.php
像这样制作文件,它工作正常
并像这样更改方法中的两行:
我也尝试过使用$$type
而不是${$type}
同样的问题。
有什么我忽略的吗?
php - 使用带索引的数组值作为变量变量
标题可能有点混乱。这是我的问题:
我知道你可以在另一个变量中保存一个变量名,然后读取第一个变量的内容。这就是我的意思:
那将打印:“你好”。现在,我遇到了一个问题:
这给了我一个 PHP 错误(它说 $somearray['name'] 是一个未定义的变量)。你能告诉我这是否可能并且我做错了什么吗?或者如果这显然是不可能的,你能给我另一个解决方案来做类似的事情吗?
提前致谢。
python - 没有eval的Python变量变量?
有没有办法在 python 中使用变量字符串访问变量?例如,我想要一种比使用eval
以下更简洁的方法:
php - 变量变量和超全局变量
我正在将一个巨大的 PHP 软件从 PHP4 过渡到 PHP5,在我面临的许多(许多)问题中,迄今为止最大的一个似乎是以前的程序员刚刚对 register_globals 功能进行了宴会,不时抛出一些变量不指定来源,并无耻地将警告和通知隐藏在地毯下。
我试图通过创建一个迭代数组(作为参数传递)并通过“变量变量”功能创建全局变量的函数来解决这个问题,然后在每个页面中调用它来获取$_POST
,$_GET
和$_SESSION
. 这是代码:
这个函数的问题是条件isset($$key)
永远不会为真,因此括号内的代码总是被执行并覆盖之前的声明。
这种行为有什么解释吗?我阅读了 PHP 文档,其中指出
请注意,变量变量不能在函数或类方法中与 PHP 的超全局数组一起使用。
但我不明白这是否与我的问题有关(说实话,我也不明白这意味着什么,我找不到任何例子)。
PS:请不要告诉我使用全局变量和/或变量变量是不好的编程,我自己对此非常了解,但另一种选择是修改大约 2.700 个文件,每行有一千行代码每行,我是这里唯一的程序员......但如果你知道一个更好的解决方案来摆脱所有那些“未定义的变量”警告,你可以让我开心。
PPS:对我的英语也有耐心^_^