배열 함수 질문 두번째... 채택완료

Copy
$name_kr = array_map('trim', explode(',', $names_all));
for ($i=0; $i<count($name_kr); $i++) {
echo '.$actress_kr[$i]. ';
echo ($actress_kr) ? ' | ' : '';
}

$names_all 에 "김나나, 김다다, 김아아, 김마마, 김미미, 김하하" 들어있는 상태에 쪼개기해서

 

출력시

 

김나나 | 김다다 | 김아아 | 김마마 | 김미미 | 김하하 |

 

이런 식으로 나옵니다.

 

--------------------------------------

 

제가 원하는건

 

김나나 | 김다다 | 김아아 | 김마마 | 김미미 | 김하하

 

맨 마지막에 "|" 출력되지 않게 하려면 어떻게 해야 되나요?

 

답변 2개

채택된 답변
+20 포인트

$name_kr = array_map('trim', explode(',', $names_all));
echo implode(" | ", $name_kr);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변해주셔서 감사합니다.

단순한 방법으로 되지만 두개 였을 때 잘 안되서 문의합니다.

$name_kr = array_map('trim', explode(',', $names_all));
$name_en = array_map('trim', explode(',', $names_en_all));
for ($i=0; $i<count($name_kr); $i++) {
echo ''.$name_kr[$i].' ('.$name_en[$i].')';
echo ($actress_kr) ? ' | ' : '';
}

출력시 김나나 (kimnana) | 김다다 (kimdada) | .......

이런 식일 때 맨 마지막 | 제외하려면 어떻게 하면 되나요?

댓글을 작성하려면 로그인이 필요합니다.

$names = array();

for( ~~~ ) {

   $names[] = $name_kr[$i]." (".$name_en[$i].")";

}

echo implode(" | ", $names);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변해주셔서 감사합니다.

첫번째 배열 질문하고 같이 쓰려고 연구 중이긴하지만... ㅠ.ㅠ

생각보다 어렵네요.
이렇게 하면 원하시는 것처럼 나오지 않나요?
굳이 for 안에서 if를 줘서 얘가 마지막인지 아닌지를 체크할 필요 없이 다른 배열에 담아서 그걸 implode 함수로 가공하는 게 더 편해요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고