나는 이와 같은 상황에서 루프를 사용하지 않는 경향이있다. implode()를 사용하여 목록을 일반적인 구분 기호로 결합하고 array_map()을 사용하여 조인 전에 해당 배열의 모든 처리를 처리해야합니다. 이러한 기능의 다양성을 표현해야하는 다음 구현에 주목하십시오. 배열 맵은 내장 함수 나 사용자 정의 함수를 나타내는 문자열 (함수 이름)을 취할 수 있습니다 (처음 세 가지 예). create_function()을 사용하여 함수에 전달하거나 람다/익명 함수를 첫 번째 매개 변수로 전달할 수 있습니다.
$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]
'process()'함수는 무엇을 하는가? –
당신이 원한다 무엇 이건 ... 미안 해요, 아마도 더 유용하게 이름을 붙여야합니다. 그건 OP 작성을위한 비트입니다. –