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

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

개발

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

페이지 정보

profile_image
작성자 관리자 (119.♡.119.69)
댓글 0건 조회 1,263회 작성일 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 386건 1 페이지
  • RSS

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.