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

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

개발

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

페이지 정보

profile_image
작성자 관리자 (119.♡.119.69)
댓글 0건 조회 1,547회 작성일 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 387건 19 페이지
  • RSS
개발 목록
번호 제목 조회 추천 날짜
271670001-31
261621003-11
251581012-05
241576010-02
231562001-13
열람중1548004-23
211544004-20
201539008-10
191526009-07
181521003-22
171496008-11
161475008-11
151414012-25
141378007-27
131358004-10
121308007-03
111289002-02
101236004-12
91218012-15
81175009-08

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.