PHP 에서 변수명을 print 하는 코드 > 개발

본문 바로가기
사이트 내 전체검색

개발

PHP 에서 변수명을 print 하는 코드

페이지 정보

profile_image
작성자 관리자 (119.♡.119.69)
댓글 0건 조회 1,661회 작성일 23-04-23 19:58

본문

1. 상황

PHP 에서 변수명을 찍어 보아야 하는 경우가 있다.
이게 실제 상황에서는 생각대로 잘 안된다.

우선 변수명을 찍는 코드는 아래와 같다.

```
function print_var_name(){
    // read backtrace
    $bt  = debug_backtrace();
    // read file
    $file = file($bt[0]['file']);
    // select exact print_var_name($varname) line
    $src  = $file[$bt[0]['line']-1];
    // search pattern
    $pat = '#(.*)'.__FUNCTION__.' *?\( *?(.*) *?\)(.*)#i';
    // extract $varname from match no 2
    $var  = preg_replace($pat, '$2', $src);
    // print to browser
    echo '<pre>' . trim($var) . ' = ' . print_r(current(func_get_args()), true) . '</pre>';
}
```

출처 :
https://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php


2. 적용 방법

그런데, 이 방법도 모든 상황에서 사용할 수는 없다.
예를 들어 위 구문을 별도의 함수로 만들어서 사용하면 원하는 값을 얻을 수 없다.
아래처럼 사용해야 한다.
```
function foo($var) {
    // 여기에 위 함수 안의 구문을 직접 넣어서 사용해야 한다.
    // 따로 함수를 만들어서 print_var_name() 이런식으로 호출하면 안된다.
}
```

추천0

댓글목록

등록된 댓글이 없습니다.

Total 392건 19 페이지
  • RSS
개발 목록
번호 제목 조회 추천 날짜
322292003-09
312252003-15
301618003-22
293529004-10
281441004-10
271991004-11
262012004-11
251364004-12
242826004-19
231678004-20
열람중1662004-23
211907006-06
201425007-03
192051007-10
181726008-10
171612008-11
161318009-08
15648011-04
14770011-26
13692012-03

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.