변수처리 문의 채택완료

2년 전 조회 1,650

Copy
echo $var = '"'. $id .'", '. $pay .', "테스트", "테스트", '. $pid .', ""';
insert_point( $var );

 

위 처럼 하면 안되죠....

그런게 혹시 저런 식으로?  하는 방법도 있을까요?


insert_point 함수에 전달 값이 제대로 들어가는지 echo 로 보고싶어서요

 

답변 3개

변수를 하나씩 출력해보는 방법으로 해결할 수 있습니다.

echo $id;
echo $pay;
echo $pid;

이렇게 하나씩 출력해보시면 변수가 제대로 전달되는지 확인할 수 있습니다.

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

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

본문처럼 작성하면 독립변수가 하나로 취급되어 제대로 전달 안 될 듯 합니다.

 

Copy
<?php
function plus($a,$b) {
    return $a + $b;
}

echo plus(1,2); // 3

$a=1;
$b=2;
$c = $a.",".$b;
echo $c; // 1,2
echo plus($c); // 에러 발생

 

ps. 함수에서 확인하려면, 파란색코드 추가

<?php
function plus($a,$b) {    
    print_r(func_get_args()); exit; // Array ( [0] => 1 [1] => 2 )
    return $a + $b;
}

echo plus(1,2); // 3

 

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

답변에 대한 댓글 1개

방법이 없는가 보군요.
예가 너무 간편하게 이해하기 쉽네요.
감사합니다.

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

해당 insert_point 함수 내부에서 매개변수를 체크하는게 더 편합니다.

 

Copy
function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='', $expire=0)
{
    // 매개변수 개수와 매개변수들을 출력
    $num_args = func_num_args();
    $args = func_get_args();
    for ($i = 0; $i < $num_args; $i++) {
        echo "Arg $i: " . var_export($args[$i], true) . "\n";
    }

    exit; // 함수를 중단시킴, 그래야 위 결과값이 출력됨.

    // 함수 내부 코드...
}
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고