implode된 값을 substr로 자를수있나요?? 채택완료

$arr = array(100, 2234, 3456, 4411, 2345);

 

foreach ($arr as $val) {

 $test = implode(',', $val); ====> 100, 2234, 3456, 4411, 2345

 

//여기서 문제.

$test = substr($test, -2);  =======> 1, 22,34,44,23 

이렇게 하고싶습니다..

지금은 이렇게하면 첫번째값 1만 나옵니다 ㅜ

}

 

 

답변 2개

채택된 답변
+20 포인트

Copy
<?php

$arr = array(100, 2234, 3456, 4411, 2345);
$test = "";
foreach ($arr as $val) {
 if($test) $test .= ",";
 $test .= substr($val, 0, strlen($val)-2);
}
echo $test;
?>
로그인 후 평가할 수 있습니다

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

 

Copy
$arr = array(100, 2234, 3456, 4411, 2345);

 

$test2 = "";

foreach ($arr as $val) {

    $test = substr($val, 0,2);

    if ($test2) $test .= ",";

    $test2 .= $test;

}

 

로 해보세요

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

답변에 대한 댓글 3개

100이 1이 나와야 되는 경우인 것 같아요~!
@배모씨
네 그런것 같네요
답글달고 보니
문자형이 아닌 숫자형이었네요 ^^

substr이 정상적으로 작동되게 하려면

$arr = array(100, 2234, 3456, 4411, 2345);
를 문자로 바꾸던지

foreach전에
$arr= implode(","$arr);
$arr = explode(",",$arr);
을 한번 거쳐주던지 해야할듯 싶네요
두분 다 답변 감사합니다.

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

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

로그인
🐛 버그신고