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

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

개발

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

페이지 정보

profile_image
작성자 관리자 (119.♡.119.69)
댓글 0건 조회 1,216회 작성일 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 385건 1 페이지
  • RSS
개발 목록
번호 제목 조회 추천 날짜
385449002-02
384583001-09
383711012-25
382608012-15
381657012-10
380315012-03
379333011-26
378341011-04
377862009-08
3761066008-11
3751164008-10
3741458007-10
373993007-03
3721363006-06
열람중1217004-23
3701184004-20
3692077004-19
368885004-12
3671470004-11
3661520004-11

검색


사이트 정보

Copyright © Baragi.Net. All rights reserved.