php中print_r 和var_dump 打印变量的区别。

<?php
$arr = array(true);
var_dump($arr);
echo "<br/>";
print_r($arr);

  结果如下:

说明 print_r()其实做了转换, 将数组的true转换成了 1 打出来。。而var_dump()保持原来的数据类型(bool)类型不变。

时间: 2024-10-01 04:24:35

php中print_r 和var_dump 打印变量的区别。的相关文章

PHP echo()、print()、print_r()、var_dump()、var_export()的区别

PHP中echo.print.print_r.var_dump.var_export的用法与区别 这些均为输出变量的内容: echo();不是函数.是PHP语句.没有返回值:输出一个或者多个字符串或者变量值: print()本质上是一个语言结构而非函数.返回值总是1:用于输出一个或多个字符串或变量的信息:打印出简单类型变量的值.不能打印数组和对象:注意:print()效率低于echo(): print_r()是函数.用于打印关于变量的易于理解的信息:如果给的是string.integer.flo

js中let和var定义变量的区别

let变量之前没见过,刚遇到,探探究竟. 以下转自:http://blog.csdn.net/nfer_zhuang/article/details/48781671 声明后未赋值,表现相同 (function() { var varTest; let letTest; console.log(varTest); //输出undefined console.log(letTest); //输出undefined }()); 使用未声明的变量,表现不同: (function() { console

mysql -- 存储过程中 declare 和 set 定义变量的区别

mysql存储过程中,定义变量有两种方式:1.使用set或select直接赋值,变量名以 @ 开头.例如:set @var=1;可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量. 2.以 DECLARE 关键字声明的变量,只能在存储过程中使用,称为存储过程变量,例如:DECLARE var1  INT DEFAULT 0;  主要用在存储过程中,或者是给存储传参数中. 两者的区别是:在调用存储过程时,以DECLARE声明的变量都会被初始化为 NULL.而会话变量(即@开头的变量)则不

var_dump — 打印变量的相关信息

<?php $a = array( 1 , 2 , array( "a" , "b" , "c" )); var_dump ( $a ); ?> 输出: array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> stri

ts和js中let和var定义变量的区别

javascript 严格模式 第一次接触let关键字,有一个要非常非常要注意的概念就是"JavaScript 严格模式",比如下述的代码运行就会报错: let hello = 'hello world.'; console.log(hello); 错误信息如下: let hello = 'hello world.'; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet sup

MySQL存储过程中declare和set定义变量的区别

在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅在类中生效.即只在存储过程中的begin和end之间生效. 2.@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据.如何理解呢?可以看下面这个简单例子,很好理解. (1)先执行下面脚本,创建一

iOS中copy和strong修饰变量的区别

大部分的时候NSString的属性都是copy,那copy与strong的情况下到底有什么区别呢? 比如:@property (retain,nonatomic) NSString *rStr;@property (copy, nonatomic)   NSString *cStr; - (void)test:{    NSMutableString *mStr = [NSMutableStringstringWithFormat:@"abc"];    self.rStr   = m

c语言中数组名和指针变量的区别

编译器工作原理:在64位的计算机中,当创建一个指针变量时,计算机会为它分配8个字节的存储空间.但如果创建的是数组呢?计算机会为数组分配存储空间,但不会为数组变量分配任何空间,编译器仅在出现它的地方把它替换成数组的起始地址. 结论1:由于计算机没有为数组变量分配空间,也就不能把它指向其他地方.例题: char s[]="How big is it?"; char *t=s; //正确,将数组的地址赋给指针变量t s=t; //错误,数组变量没有存储空间,无法存储指针变量t的值,编译报错

PHP中print_r、var_export、var_dump区别

PHP中print_r.var_export.var_dump区别比较: 可以看出print_r跟var_export都是可以作为返回值的,只需要把第二个参数设置为true即可 print_r(PHP 4 , PHP 5)print_r — 打印关于变量的易于理解的信息. 描述bool print_r ( mixed expression [, bool return]) 注: 参数 return 是在 PHP 4.3.0 的时候加上的 print_r() 显示关于一个变量的易于理解的信息.如果