>  기사  >  백엔드 개발  >  PHP 코드 감사 (1)------디버깅 기능

PHP 코드 감사 (1)------디버깅 기능

不言
不言원래의
2018-04-03 14:13:581775검색

이 글의 내용은 디버깅 기능을 공유하기 위한 것입니다. 관심 있는 친구가 살펴보고 도움이 필요한 학생에게 참고할 수도 있습니다.


  • 가장 기본적인 두 가지 출력 방법은 echo입니다. and print

/**
*echo 是一个语言结构,有无括号均可使用:echo 或 echo()
*///打印字符串echo "hello";
echo("hello");//打印变量$text="learn php";
echo $text;
echo($text);

/**
print 也是语言结构,有无括号均可使用:print 或 print()
*///打印字符串print "hello";
print("hello");//打印变量$text="learn php";
print $text;
print($text);


echo와 print의 차이점:

echo - 두 개 이상의 문자열을 출력할 수 있습니다.
print - 하나의 문자열만 출력할 수 있으며 항상 1을 반환합니다.
팁: print보다 echo 아무 값도 반환하지 않기 때문에 조금 더 빠릅니다


  • 큰따옴표와 작은따옴표의 차이점

큰따옴표는 변수를 구문 분석합니다.
작은따옴표는 변수를 구문 분석하지 않습니다

 $str1="hello"; $str2="php"; echo "$str1";//输出:hello echo '$str2';//输出:$str2
  • print_r() 함수

print_r()은 변수에 대한 정보를 이해하기 쉽게 표시합니다. 문자열, 정수 또는 부동 소수점이 주어지면 변수 값 자체가 인쇄됩니다. 배열이 주어지면 키
와 요소가 특정 형식으로 표시됩니다. 객체는 배열과 유사합니다.
기억하세요. print_r()은 배열 포인터를 끝으로 이동합니다. 포인터를 처음으로 되돌리려면 Reset()을 사용하세요.

//打印string$str1="hello";
print_r($str1);
print_r("hello");//打印integer$num=1024;
print_r($num);
print_r(1024);//打印float$num=1024.1024;
print_r($num);
print_r(1024.1024);//打印array
 $cars=array("Volvo","BMW","Toyota");
 print_r($cars);/*打印结果
Array ( [0] => Volvo [1] => BMW [2] => Toyota )
*/

  • *var_dump() 함수

    var_dump() 메서드는 변수의 유형과 길이를 결정하고 변수의 값을 출력합니다. 변수에 값이 있으면 출력은 변수의 값이며 데이터를 반환합니다. 유형. 정확한 디버깅을 위해
    표현식의 유형과 값을 포함하여 하나 이상의 표현식에 대한 구조적 정보를 표시합니다. 배열은 값을 재귀적으로 확장하여 들여쓰기를 통해 구조를 표시합니다.

  •  $cars=array("Volvo","BMW","Toyota");
     var_dump($cars); /* 打印结果
     E:\wamp64\www\test.php:56:
    array (size=3)
      0 => string 'Volvo' (length=5)
      1 => string 'BMW' (length=3)
      2 => string 'Toyota' (length=6)
     */
    
    
     $n=null;
     var_dump($n); /*打印结果
     E:\wamp64\www\test.php:59:null
     */
  • var_export() 함수 var_export() 함수는 이 함수에 전달된 변수에 대한 구조적 정보를 반환합니다. 반환된 표현이 올바른 PHP 코드라는 점을 제외하면 var_dump()와 유사합니다. var_export는 유효한 PHP 코드를 반환해야 합니다. 즉, var_export가 반환한 코드는 PHP 코드로 변수에 직접 할당될 수 있습니다. 그리고 이 변수는 var_export와 동일한 유형의 값을 얻습니다.

세 가지 사항에 유의하세요. 1.var_export()는 항상 데이터를 저장하기 위해 구조화된 형식을 유지합니다.
2.그러나 특히 기억하세요. 이때 변수 값의 유형은 이미 문자열($var)입니다. ), 내부 값은 더 이상 배열 형식으로 꺼낼 수 없습니다
3. var_export는 리소스 유형 변수에 대해 NULL을 출력합니다

 $cars=array("Volvo","BMW","Toyota");
 var_export($cars);
 /*打印结果
 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', )
 */

  • debug_zval_dump() 함수 debug_zval_dump() 출력 결과는 다음과 유사합니다. var_dump, 유일하게 추가된 값입니다. 값은 변수가 참조된 횟수를 기록하는 refcount입니다. 이는 PHP 쓰기 시 복사 메커니즘의 중요한 기능입니다. 가장 기본적인 두 가지 출력 방법은 echo와 print의 차이점입니다.

  • echo - 둘 이상의 문자열을 출력할 수 있습니다.
print - 하나의 문자열만 출력할 수 있으며 항상 1을 반환합니다.
    팁: echo는 print보다 약간 빠릅니다. 어떤 값도 반환하지 않음

  • 큰따옴표 작은따옴표와의 차이점
  • 큰따옴표는 변수를 해결합니다.작은따옴표는 변수를 해결하지 않습니다.

     $cars=array("Volvo","BMW","Toyota");
     debug_zval_dump($cars);
     /*打印结果  array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) }
     */


print_r() 함수

print_r() 변수에 대한 정보를 이해하기 쉽게 표시합니다. 문자열, 정수 또는 부동 소수점이 주어지면 변수 값 자체가 인쇄됩니다. 배열이 주어지면 키
와 요소가 특정 형식으로 표시됩니다. 객체는 배열과 유사합니다.
기억하세요. print_r()은 배열 포인터를 끝으로 이동합니다. 포인터를 처음으로 되돌리려면 Reset()을 사용하세요.

/**
*echo 是一个语言结构,有无括号均可使用:echo 或 echo()
*///打印字符串echo "hello";
echo("hello");//打印变量$text="learn php";
echo $text;
echo($text);

  • *var_dump() 함수

    var_dump() 메서드는 변수의 유형과 길이를 결정하고 변수의 값을 출력합니다. 변수에 값이 있으면 출력은 변수의 값이며 데이터를 반환합니다. 유형. 정확한 디버깅을 위해 표현식의 유형과 값을 포함하여 하나 이상의 표현식에 대한 구조적 정보를 표시합니다. 배열은 값을 재귀적으로 확장하여 들여쓰기를 통해 구조를 표시합니다.

  • /**
    print 也是语言结构,有无括号均可使用:print 或 print()
    *///打印字符串print "hello";
    print("hello");//打印变量$text="learn php";
    print $text;
    print($text);


var_export() 함수
  • var_export() 함수는 이 함수에 전달된 변수에 대한 구조적 정보를 반환합니다. 반환된 표현이 올바른 PHP 코드라는 점을 제외하면 var_dump()와 유사합니다. var_export는 유효한 PHP 코드를 반환해야 합니다. 즉, var_export가 반환한 코드는 PHP 코드로 변수에 직접 할당될 수 있습니다. 그리고 이 변수는 var_export와 동일한 유형의 값을 얻습니다.

  • 세 가지 사항에 유의하세요.

1.var_export()는 항상 데이터를 저장하기 위해 구조화된 형식을 유지합니다.
2.그러나 특히 기억하세요. 이때 변수 값의 유형은 이미 문자열($var)입니다. ), 내부 값은 더 이상 배열 형태로 꺼낼 수 없습니다
3. var_export는 리소스 유형 변수에 대해 NULL을 출력합니다

 $cars=array("Volvo","BMW","Toyota");
 var_export($cars);
 /*打印结果
 array ( 0 => 'Volvo', 1 => 'BMW', 2 => 'Toyota', )
 */

  • debug_zval_dump()函数
    debug_zval_dump() 输出结果跟 var_dump 类似,唯一增加的一个值是 refcount,就是记录一个变量被引用了多少次,这是 php 的 copy on write (写时复制) 的机制的一个重要特点。

 $cars=array("Volvo","BMW","Toyota");
 debug_zval_dump($cars);
 /*打印结果  array(3) refcount(2){ [0]=> string(5) "Volvo" refcount(1) [1]=> string(3) "BMW" refcount(1) [2]=> string(6) "Toyota" refcount(1) }
 */
  • exit()函数
    终止程序运行

相关推荐:

PHP调试函数和日志记录函数分享,调试日志记录_PHP教程

위 내용은 PHP 코드 감사 (1)------디버깅 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.