使用变量作为键检索关联数组值

时间:2011-02-24 14:13:28

标签: php associative-array

这是我遇到问题的一些代码。我不知道为什么,我觉得我已经多次使用过这段代码而没有任何问题。

$people['firstname'] = "Fred";
$t = "firstname";
echo $people[$t] ;

echo什么都不返回,而我希望它能返回Fred。

感谢您的帮助,Marc

4 个答案:

答案 0 :(得分:1)

不确定为什么这不适合你。

$people['firstname'] = 'testvalue';

$key = 'firstname';

$value = $people[$key];

echo $value;

按预期工作,回声“testvalue”

仔细检查你的拼写并与你的蜱一致(纯粹的风格,我敢肯定。)

答案 1 :(得分:0)

好的我发现我的解决方案看起来像变量继续无ASCII字符所以我必须删除它们的工作

$country = preg_replace('/[[:^print:]]/', '', $country);
$CCodes2=$CCodes[$country];

你应该检查你的php文件编码,或者如果你使用WYSIWYG make sue删除任何格式化的无ASCII文本,然后再粘贴它。

答案 2 :(得分:0)

我认为你可以将关联数组值作为变量传递。这对我有用

@$username=$_POST['username'];
@$password=$_POST['password'];

$result=array(
'username'=> "".$username."",
'password'=> "".$password.""
);

答案 3 :(得分:0)

$params_to_json = '{"' . str_replace(['=', '&'], ['":"', '","'], $_SERVER['QUERY_STRING']) . '"}';
$json_to_array = json_decode($params_to_json, true) ?? array(); 
extract($json_to_string); // Converts array keys into variable names and array values into variable value

功能:

function url_params()
{
    $params_to_json = '{"' . str_replace(['=', '&'], ['":"', '","'], $_SERVER['QUERY_STRING']) . '"}';
    return json_decode($params_to_json, true) ?? array();
}
extract(url_params());

例如URL: example.com?id=3

echo $id //3