tôi muốn có vòng lặp foreach nơi mảng ban đầu được thay đổi bên trong vòng lặp.thay đổi mảng ban đầu bên trong vòng lặp foreach?
ví dụ:
$array = array('red', 'blue');
foreach($array as $key => $value) {
$array[] = 'white';
echo $value . '<br />';
}
trong vòng lặp này vòng lặp sẽ in ra màu đỏ và xanh mặc dù tôi thêm phần tử khác trong vòng lặp.
có cách nào thay đổi mảng ban đầu bên trong vòng lặp để các phần tử mới sẽ được thêm vào và foreach sẽ sử dụng mảng mới bất kỳ thay đổi nào không?
tôi cần loại logic cho một nhiệm vụ cụ thể:
tôi sẽ có một câu lệnh if mà tìm kiếm một liên kết. nếu liên kết đó tồn tại, nó sẽ được thêm vào mảng. nội dung liên kết sẽ được tìm nạp để được kiểm tra nếu nó chứa một liên kết khác. nếu vậy, liên kết này được thêm vào và nội dung sẽ được tìm nạp, v.v .. khi không có liên kết nào được tạo thêm, vòng lặp foreach sẽ thoát ra
Bạn có nhận ra rằng không có bất kỳ gián đoạn nào, ý tưởng của bạn sẽ chạy vào vòng lặp vô hạn? –
đọc câu hỏi mới của tôi. – ajsie