PHP:当变量是字符串时,“数组到字符串转换”错误

时间:2014-01-28 11:30:05

标签: php arrays string

我有来自亚马逊API的数组,我正在迭代。当我尝试回显或打印()其中一个值时,我得到一个“数组到字符串转换”错误。

有问题的值是一个字符串,我已经用var_dump()确认了。

这是PHP v.5.5.8(-1~dotdeb.1)中的错误还是我疯了?

这是导致挂断的代码行(使用Blade,但这是生成的PHP):

<td><a href='http://<?php echo $instance['PublicDnsName']; ?>' target='_blank'><?php echo $instance['PublicDnsName']; ?></a></td>

我通过Vagrant在Ubuntu Server上,在Windows 7下作为主机操作系统。

编辑:如果我print_r()值,它可以正常工作,它会在输出中附加一个“1”。

EDIT2:这似乎是Blade的问题,因为我可以在我的控制器类中而不是在视图/模板中回显值。我正在使用Laravel 4及其Blade模板引擎。

EDIT3: 以下是我的Blade模板的相关部分: <td><a href='{{ $instance['PublicDnsName'] }}' target='_blank'>{{ $instance['PublicDnsName'] }}</a></td>

这是一个嵌套的foreach循环。

大数据阵列来自亚马逊的EC2,因此:

$data = $this->ec2->DescribeInstances()->getAll(); 如前所述,如果我在控制器中打印出来,它将正确打印字符串而不会出错。

我也尝试使用普通的PHP标签,没有Blade特定的语法,但它会产生相同的结果。

1 个答案:

答案 0 :(得分:2)

解决:我是个白痴。 AWS API返回一个字符串 OR 一个只有值为1的数组。因此,任何地方都没有错误。谢谢你的帮助!