tôi có xu hướng để tránh sử dụng các vòng lặp trong những tình huống như thế này. Bạn nên sử dụng implode() để nối các danh sách với một trình phân định chung và sử dụng array_map() để xử lý bất kỳ quá trình xử lý nào trên mảng đó trước khi kết nối. Lưu ý các triển khai sau đây cần thể hiện tính linh hoạt của các chức năng này. Bản đồ mảng có thể lấy một chuỗi (tên của một hàm) đại diện cho một hàm dựng sẵn hoặc hàm do người dùng định nghĩa (3 ví dụ đầu tiên). Bạn có thể truyền cho nó một hàm bằng hàm create_function() hoặc truyền hàm lambda/anonymous như tham số đầu tiên.
$a = array(1, 2, 3, 4, 5);
// Using the user defined function
function fn ($n) { return $n * $n; }
printf('[%s]', implode(', ', array_map('fn', $a)));
// Outputs: [1, 4, 9, 16, 25]
// Using built in htmlentities (passing additional parameter
printf('[%s]', implode(', ', array_map('intval' , $a)));
// Outputs: [1, 2, 3, 4, 5]
// Using built in htmlentities (passing additional parameter
$b = array('"php"', '"&<>');
printf('[%s]', implode(', ', array_map('htmlentities' , $b, array_fill(0 , count($b) , ENT_QUOTES))));
// Outputs: ["php", "&<>]
// Using create_function <PHP 5
printf('[%s]', implode(', ', array_map(create_function('$n', 'return $n + $n;'), $a)));
// Outputs: [2, 4, 6, 8, 10]
// Using a lambda function (PHP 5.3.0+)
printf('[%s]', implode(', ', array_map(function($n) { return $n; }, $a)));
// Outputs: [1, 2, 3, 4, 5]
Hàm 'process()' làm gì? –
Bất cứ điều gì bạn muốn ... Xin lỗi, có lẽ nên đặt tên nó một cách hữu ích hơn - đó là bit cho OP điền vào. –