我在PHP中有一个变量变量。
我的代码是
$a1 = "phase";
$phase = $phaseData["Body"]["Data"]["Value"];
我使用$$a1
并且代码可以正常工作,但是当我使用echo或print查看正在发生什么时,它显示的是$phase
而不是$phaseData
的值
使用$phaseData
时如何获得打印或回显以显示$$a1
的值?
我使用此代码进行显示
Echo "A1 \t $$a1\n";
答案 0 :(得分:0)
我在这里错过了什么吗? $ phase从未定义。即使定义了$ phase,也没有定义$ phaseData。我想您想这样做:
$a1 = "phase";
$phase = "ABCD";
$phase2 = "${$a1}Data";
echo $phase2;
echo "\n";
//or
$phase3 = $$a1. "Data";
echo $phase3;
echo "\n";
另一个例子:
$a = "AAA";
$b = "BBB";
$c = "CCC";
$array = array ('a', 'b', 'c');
foreach ($array as $item) {
echo "\nPrint $item:" . $item;
echo "\nPrint $a:" . ${$item};
}
echo "\n";
output:
Print a:a
Print AAA:AAA
Print b:b
Print AAA:BBB
Print c:c
Print AAA:CCC
答案 1 :(得分:0)
如果要echo
的{em}值 {em},则需要先进行设置:
$phaseData
将输出<?php
$a1 = "phase";
$phaseData = 'test';
$phase = "$phaseData";
echo $$a1;
。
如果您希望脚本输出test
,则需要将引号更改为单引号,这样$phaseData
就不会被解析:
$phaseData
将输出<?php
$a1 = "phase";
$phase = '$phaseData';
echo $$a1;
。
答案 2 :(得分:0)
Echo "A1 \t ${$a1}\n";
有效
我只需要括号