2015-05-27 46 views
-1

我有这样的构造体Laravel打印对象到HTML表格

{ 
- NewYorkCity: [ 

    -{ 
    Men:100 
}, 
    -{ 
    Women: 100 
}, 
], 
    - Boston: [ 

    -{ 
    Men:120 
}, 
    -{ 
    Women: 180 


} 

我只是想打印的内联,就像这样:

NewyorkCity | 100  | 100 
Boston  | 120  | 180 

我试过这段代码:

@foreach($cities as $key => $val) 
      <tr> 
       <td> {{$key}}</td> 
       <td>{{$val[1]}}</td> 
      </tr> 
    @endforeach 

在这种情况下,$ key(城市名称)打印没有问题。 男人和女人不计数。它给错误“阵列到字符串转换”

我该如何解决它? 谢谢。

+2

'$ val'是一个关联数组,所以'$ val [“Men”]或'$ val [“Women”]'应该可以工作。 – DavidDomain

+0

我如何使用数字而不是男人和女人,这可能吗? – yigitozmen

+0

改为使用索引数组。但你如何区分男性和女性呢?只要知道阵列中的第一个条目是男性就不是一个好主意。 – DavidDomain

回答

0
Try $val['Men'] and $val['Women'] 
+0

我如何使用数字而不是男人和女人,这有可能吗? – yigitozmen

+0

如果将对象设置为使用数组而不是数组中的对象,则可能会出现这种情况。 – Nicekiwi

1

如果你希望你的数组是可索引的,你应该相应地改变你的数据,例如,

array(
    NewYorkCity => array(
        100, 
        100 
       ) 
); 

比你能在你的刀片foreach循环使用$val[0]$val[1],但我不会这么做,因为比没有澄清这些值的代表。如果将来必须提供更多数据,则会变得更加混乱,因此只需使用$val["Men"]$val["Women"]即可。

+0

$ val [“Men”] does not work – yigitozmen

+0

Works just nice http://codepad.org/MwnhUqnX – DavidDomain

+0

这是我数组的vardump:array(2){[“NewYorkCity”] => array(2){[ 0] => array(1){[“Men”] => float(200)} [1] => array(1){[“Women”] => float(245)}} [“Boston”] = > array(1){[0] => array(1){[“Men”] => float(505)} [1] => array(1){[“Women”] => float(100)} }} – yigitozmen