PHP变量echo中的变量值

时间:2018-09-19 06:52:50

标签: php

我在PHP中有一个变量变量。

我的代码是

$a1 = "phase";

$phase = $phaseData["Body"]["Data"]["Value"];

我使用$$a1并且代码可以正常工作,但是当我使用echo或print查看正在发生什么时,它显示的是$phase而不是$phaseData的值

使用$phaseData时如何获得打印或回显以显示$$a1的值?

我使用此代码进行显示

Echo "A1 \t $$a1\n";

3 个答案:

答案 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";有效 我只需要括号