请我在laravel数组工作。我想要一种方法来访问一些值,并显示它们作为表单字段在刀片。php文件。
这是一个数组:
$postData = array(
'source_addr' => 'JJA ENT',
'encoding' => 0,
'schedule_time' => '',
'message' => 'Hello World',
'recipients' =>
[array('recipient_id' => '1', 'dest_addr' => '233554463045'), array('recipient_id' => '2', 'dest_addr' => '255700000011')]
);
这是我在这个控制器中返回视图的方式:
return view('main',compact('postData'));
在刀片文件
<body>
{{$postData['message']}}
输出数组中消息对应的值。
我现在想要一种方法来获取"recipients"但是当我像传递消息那样传递收件人时,它返回错误。
这就是我在控制器
中返回视图的方式return view('main',compact('postData'));
在叶片
<body>
{{$postData['message']}}
您可以使用foreach
Loop来获取blade中的数组值。下面是一个例子
{{$postData['message']}}
@foreach ($postData['recipients'] as $recipient)
<input type="text" name="recipient_id[]" value="{{$recipient['recipient_id']}}">
<input type="text" name="dest_addr[]" value="{{$recipient['dest_addr']}}">
@endforeach
你不应该混合使用不同的数组符号。你只会莫名其妙地迷惑自己。array()
用于与不再维护的非常旧的PHP版本保持兼容性。你应该用[ ]
。
$postData = [
'source_addr' => 'JJA ENT',
'encoding' => 0,
'schedule_time' => '',
'message' => 'Hello World',
'recipients' => [
[
'recipient_id' => '1',
'dest_addr' => '233554463045'
],
[
'recipient_id' => '2',
'dest_addr' => '255700000011'
]
]
];
return view('main', [
'postData' => $postData
]);
<p>Source Address: {{ $postData['source_addr'] }}</p>
<p>Encoding: {{ $postData['encoding'] }}</p>
<p>Schedule Time: {{ $postData['schedule_time'] }}</p>
<p>Message: {{ $postData['message'] }}</p>
<p>Recipients</p>
<ul>
@foreach ($postData['recipients'] as $recipient)
<li>ID: {{ $recipient['recipient_id'] }}. Address: {{ $recipient['dest_addr'] }}</li>
@endforeach
</ul>