我有来自亚马逊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特定的语法,但它会产生相同的结果。
答案 0 :(得分:2)
解决:我是个白痴。 AWS API返回一个字符串 OR 一个只有值为1的数组。因此,任何地方都没有错误。谢谢你的帮助!