채택완료

implode된 값을 substr로 자를수있나요??

2018-07-02 (월) 14:27:54 2,459

$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개 / 댓글 3개

채택된 답변
+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);
을 한번 거쳐주던지 해야할듯 싶네요
두분 다 답변 감사합니다.

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