[英]PHP: using more than one array in a loop
我試圖在@foreach中使用多個數組。 看完SO之后,我發現這不是@foreach的用途,因此在以下情況下應該使用什么? 這是偽造的數據,我將其用於模擬網站,然后再將其交給后端開發人員。 我正在使用Laravel,並且是PHP的初學者,所以請您放心。
排列
$messageData['conversation_sender'][0][0] = 'Clint Smith';
$messageData['conversation_sender'][0][1] = 'Tom Corwin';
$messageData['conversation_sender'][0][2] = 'John Michaels';
$messageData['conversation_sender'][0][3] = 'Jane Winnipeg';
$messageData['conversation_class'][0][0] = 'owner-comment';
$messageData['conversation_class'][0][1] = 'friend-comment';
$messageData['conversation_class'][0][2] = 'friend-comment';
$messageData['conversation_class'][0][3] = 'friend-comment';
$messageData['conversation_message'][0][0] = 'Hello!';
$messageData['conversation_message'][0][1] = 'Can\t wait to catch up';
$messageData['conversation_message'][0][2] = 'Whoop, whoop';
$messageData['conversation_message'][0][3] = 'Good times!';
$messageData['conversation_time'][0][0] = '2 minutes ago';
$messageData['conversation_time'][0][1] = '4 minutes ago';
$messageData['conversation_time'][0][2] = '8 minutes ago';
$messageData['conversation_time'][0][3] = '18 minutes ago';
我一直使用的@foreach循環示例,一次僅用於一個數組
@foreach($messageData['conversation_sender'][0] as $value)
<span class="form-tag">{{ $value }} <i class="fa fa-plus"></i></span>
@endforeach
我想如何使用它(我知道我在做夢)
@for($messageData['conversation_sender'][0] as $sender, $messageData['conversation_class'][0] as $class, $messageData['conversation_message'][0] as $message, $messageData['conversation_time'][0] as $time)
<li class="{{ $class }} clearfix">
<p class="text-left">
<strong>{{ $sender }}</strong><br>
{{ $message }}
</p>
<span class="message-created text-muted">{{ $time }}</span>
</li>
@endfor
第一次迭代應打印的示例
<li class="owner-comment clearfix">
<p class="text-left">
<strong>Clint Smith</strong><br>
Hello!
</p>
<span class="message-created text-muted">2 minutes ago</span>
</li>
將數組重組為應具有的層次結構。
$messageData[] = array(
'conversation_sender' => 'Clint Smith',
'conversation_class' => 'owner-comment',
'conversation_message' => 'Hello!',
'conversation_time' => '2 minutes ago'
);
// Repeat for each other message.
現在,您已經擁有了所需的東西,它可以處理數組中可能存在的任何數量的消息:
foreach ($messageData as $message) {
echo "Sender {$message['conversation_sender']} </br>";
// etc.
}
對一個數組使用foreach
,在其他數組中使用相同的鍵。
foreach ($messageData['conversation_sender'][0] as $index => $sender) {
$class = $messageData['conversation_class'][0][$index];
$time = $messageData['conversation_time'][0][$index];
$message = $messageData['conversation_time][0][$index];
// do stuff with those variables
}
但是,更慣用的方式就是gview的答案。
您可以使用foreach循環。
@foreach($messageData['conversation_sender'][0] as $key=>$sender)
{{--*/ $class=$messageData['conversation_class'][0][$key];
$message = $messageData['conversation_message'][0][$key];
$time = $messageData['conversation_time'][0][$key]; /*--}}
//Your code here
@endforeach
或直接使用php
foreach($messageData['conversation_sender'][0] as $key=>$sender){
$class=$messageData['conversation_class'][0][$key];
$message = $messageData['conversation_message'][0][$key];
$time = $messageData['conversation_time'][0][$key];
//your code here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.