PHP怎么实现输出数组变量?

作者站长头像
站长
· 阅读数 7
        $html['result'] = '1111111111';        
        $arr = [
            'urls'=>"html['result']"
        ];
        $temp = $arr['urls'];

代码不变,怎么能过$arr输出“1111111111”

回复
1个回答
avatar
test
2024-06-30
$html['result'] = '1111111111';        
$arr = [
    'urls'=>"html['result']"
];
$temp = $arr['urls'];

$urls = $html['result'];
echo $$temp; // 输出 "1111111111"

$html['result'] = '1111111111';
$arr = [
    'urls' => "\$html['result']" 
];
$temp = $arr['urls'];

eval("\$temp = $temp;"); 

echo $temp; // 输出结果:"1111111111"

$html['result'] = '1111111111';        
$arr = [
    'urls' => 'html',
];
$temp = null;

// 使用反射获取数组的值
$reflection = new ReflectionClass($arr['urls']);
$property = $reflection->getProperty('result');
$temp = $property->getValue($html);

echo $temp;
$html['result'] = '1111111111';        
$arr = [
    'urls'=>"html['result']"
];
$temp = $arr['urls'];

function getValue($str) {
    global $html;
    preg_match("/\['(.*)'\]/", $str, $matches);
    return $html[$matches[1]];
}

echo getValue($temp); // 输出 "1111111111"
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容