首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >php 4个变量

php 4个变量
EN

Stack Overflow用户
提问于 2010-08-17 21:09:32
回答 2查看 309关注 0票数 0

$str=‘input_arr“用户名”’;

$input_arr=array();

$$str='abcd';

print_r($input_arr);

当我运行上面的代码时,它只打印Array()。

我希望它打印数组(username=>‘abcd’)

我做错了什么?

顺便说一下,这是用php 4编写的。

非常感谢。

编辑:我想要做什么?

$input_arr应该是一个静态变量来保存经过验证的用户名称,我最近才意识到php4.3不支持self::$input_arr,所以我不得不编辑我的脚本到bar($input_arr‘input.However’,$value);这样我就可以将值保存到bar()中的静态变量中;由于$input_arr‘’name‘不存在于当前作用域中,因此我必须将其设置为字符串。

EN

回答 2

Stack Overflow用户

发布于 2010-08-17 22:44:31

仍然很难知道您想要做什么,但是听起来您想让$str确定一段数据在$input_arr中的什么位置。如果是这样,您应该只将数组键存储在$str中,而不是代码的字符串表示形式。

在上一个示例中,只需设置$str = 'name',然后使用$input_arr[$str]访问$input['name']即可。在第一种情况下,您可以使用数组$keys = array(3,5)而不是$str,然后$input_arr[$keys[0]][$keys[1]]将等同于$input_arr[3][5]

票数 0
EN

Stack Overflow用户

发布于 2010-08-17 23:16:59

如果你真的想这样,它可以使用2个变量。如果使用对数组的引用而不是变量变量,效果会更好。

代码语言:javascript
运行
复制
$input_arr = Array();

function somefunction($array, $key)
{
    ${$array}[$key] = 'abcd';
}

function betterfunction(&$array, $key)
{
    $array[$key] = 'abcd';
}

somefunction('input_arr', 'username');
betterfunction($input_arr, 'username');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3502704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档