About the difference between var_export, print_r and var_dump in debugging in PHP

不言
Release: 2023-04-01 14:42:01
Original
1588 people have browsed it

This article mainly introduces the differences between var_export, print_r, and var_dump debugging in PHP. It is very good and has certain reference value. Friends in need can refer to it

1. output basic type

Code

$n = "test";
var_export($n);
print_r($n);
var_dump($n);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($n) . PHP_EOL, FILE_APPEND);
Copy after login

Result

(1) Front end:

'test' test /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (length=4) ----------------- /Users /xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (length=4)

(2)index.log:

'test' test

2, output array

code

$arr = array(
  "a" => 1,
  "b" => "222",
  "c" => 3,
);
var_export($arr);
print_r($arr);
var_dump($arr);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($arr) . PHP_EOL, FILE_APPEND);
Copy after login

result

( 1) Front end:

array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 ) /Users/xjnotxj/Program/PhpstormProject/colin/index.php:13: array (size=3) 'a' => int 1 'b' => string '222' (length=3) 'c' => int 3 ----------------- /Users/xjnotxj/Program/PhpstormProject/colin/index. php:19: array (size=3) 'a' => int 1 'b' => string '222' (length=3) 'c' => int 3

(2) index.log:

array ( &#39;a&#39; => 1, &#39;b&#39; => &#39;222&#39;, &#39;c&#39; => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )
Copy after login

3, output object

code

class foo
{
  public $n;
  public function do_foo()
  {
    echo "Doing foo." . $this->n;
  }
}
$object = new foo;
var_export($object);
print_r($object);
var_dump($object);
echo &#39;-----------------&#39; . &#39;<br/><br/>&#39;;
file_put_contents("index.log", var_export($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($object) . PHP_EOL, FILE_APPEND);
Copy after login

Result

(1) Front end:

foo::__set_state(array( 'n' => NULL, ))
foo Object ([n] => )
/Users/xjnotxj/Program/PhpstormProject/colin/index.php:19: object(foo)[1] public 'n' => null -- --------------- /Users/xjnotxj/Program/PhpstormProject/colin/index.php:25: object(foo)[1] public 'n' => null

(2) index.log:

foo::__set_state(array( &#39;n&#39; => NULL, )) foo Object ( [n] => )
Copy after login

##Summary:

1. Detailed output results: var_export ≈ print_r < var_dump

2. When debugging, when calling var_export, print_r, var_dump, there is no need to add echo in front.

3. If the second parameter of var_export and print_r is true, the value will be returned. var_dump does not support , so do not use var_dump when using file_put_contents to output debugging.

4. It is recommended to use var_dump directly for debugging in the development environment to obtain detailed debugging information and code line positioning; to use var_export or print_r for debugging in the production environment. Remember to set the second parameter to true to return output. value instead of outputting it directly to the front-end influence line.

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Use PHP to implement Chinese pinyin conversion and Gregorian and lunar calendar conversion

About PHP’s move_uploaded_file() function Analysis

The above is the detailed content of About the difference between var_export, print_r and var_dump in debugging in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template