首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

var_dump()和print_r()输出不同的值

var_dump()print_r() 是 PHP 中两个用于调试和输出变量信息的函数,但它们的输出方式和目的有所不同:

  1. var_dump():这个函数用于显示关于一个或多个表达式的结构信息,包括它们的类型和值。如果你传递一个一维数组,var_dump() 会显示数组的类型、长度以及每个元素的类型和值。如果你传递一个多维数组,它会递归地显示所有元素的信息。var_dump() 的输出通常用于调试,因为它提供了变量的详细信息,包括数据类型和内存地址。

示例:

代码语言:javascript
复制
$array = array("one", "two", array("three", "four"));
var_dump($array);

输出:

代码语言:javascript
复制
array(3) {
  [0]=>
  string(3) "one"
  [1]=>
  string(3) "two"
  [2]=>
  array(2) {
    [0]=>
    string(5) "three"
    [1]=>
    string(4) "four"
  }
}
  1. print_r():这个函数用于打印变量的可读信息,通常用于输出一维数组。它会以易读的格式显示数组的键和值,这对于快速查看数组内容非常有用。如果你传递一个一维数组,print_r() 会以索引数组的形式显示每个元素的键和值。对于多维数组,它也会递归地显示元素,但格式不如 var_dump() 详细。

示例:

代码语言:javascript
复制
$array = array("one", "two", array("three", "four"));
print_r($array);

输出:

代码语言:javascript
复制
Array
(
    [0] => one
    [1] => two
    [2] => Array
        (
            [0] => three
            [1] => four
        )
)

当你在使用 var_dump()print_r() 时,如果你传递的是一个一维数组,两者通常会输出相同的数据,但格式不同。然而,对于多维数组,var_dump() 提供了更详细的信息,包括每个元素的数据类型,而 print_r() 则更侧重于数组的结构和内容。选择使用哪个函数取决于你是否需要详细的类型信息和内存地址,或者只是需要一个数组内容的快速概览。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP中的输出:echo、print、printf、sprintf、print_r和var_dump

; // 报错了 print 基本和echo一样,但是不支持参数列表,有返回值。返回值永远是1。...用%标明占位符,后面的参数对应进行占位符的替换。printf和sprintf的区别就是前者直接进行了输出,而后者是将字符串进行了函数返回。请看实例。...sscanf,对于一些特殊字符处理方式不同。 fscanf,从文档中读取并进行格式化。 print_r 非常常用的一个函数,可以格式化的输出数组或对象。...[0] => a [1] => b [3] => c [show] => d ) */ var_dump和var_exports var_dump...var_exports与之不同的地方在于var_exports返回的内容是正常的PHP代码,可以直接使用,并且有和print_r类似的第二个return参数,作用也类似。

2.4K20
  • PHP 中 var_export、print_r、var_dump 调试中的区别

    public 'n' => null (2)index.log: foo::__set_state(array( 'n' => NULL, )) foo Object ( [n] => ) 总结: 1、输出结果的详细性...: var_export ≈ print_r var_dump 2、调试的时候,调用 var_export、print_r、var_dump 的时候, 不用 在前加 echo 。...3、var_export,print_r 的 第二个参数为true则返回值。var_dump 不支持 ,所以用 file_put_contents 输出调试的时候不要用 var_dump。...4、推荐开发环境的调试直接使用 var_dump,可以获得详细的调试信息和代码行数定位;生产环境的调试使用 var_export 或 print_r,第二个参数记得设置为 true 转为返回输出值,而不是直接输出到前端影响线上...总结 以上所述是小编给大家介绍的PHP 中 var_export、print_r、var_dump 调试中的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    94520

    C语言共用体成员输出的值与赋值时的不同的原因

    共用体成员输出的值与赋值时的不同的原因在使用C语言的共用体时,如果成员输出的值与之前定义共用体变量的时候所赋值的不同,那么很可能是因为定义共用体变量的时候,为共用体的多个成员赋值造成的。...因为共用体虽然允许在同一个内存位置上存储不同的数据类型的变量,但是任何时候都只能有一个成员存储值,也就是说,当共用体内的某一个成员被赋值了,那么其它成员之前所赋的值就会丢失或损坏,这就是造成共用体成员输出的值与赋值时不同的原因了...解决方法分开为C语言共用体的成员赋值,即什么时候使用就什么时候赋值,确切来说,要使用一个新的共用体的成员时,就应该为其赋值。...c; c.id = 2; printf("%d\n",c.id); c.salary = 8000; printf("%d\n",c.salary);}原文:C语言共用体成员输出的值与赋值时的不同的解决方法

    19621

    PHP manual(update)

    这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。 可以在 PHP 中使用四对不同的开始和结束标记。其中两种,的值和类型,用 var_dump() 函数。 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()函数。...但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换 -1 和其它非零值(不论正负)一样,被认为是 TRUE!...任何拿此值与其它任何值进行的松散或严格比较的结果都是 FALSE。由于 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,应该用 is_nan() 来检查。...array(); $b['0'] = 'a'; $b['1'] = 'b'; $b['2'] = 'c'; print_r($b); 输出结果 Array ( [color] => red

    1.2K10

    从零开始学 Web 之 Ajax(二)PHP基础语法

    2、打印语句 echo: 的作用在页面中输入字符串(只能打印字符串,数字等简单类型) print_r :输出复杂类型 var_dump :输出复杂类型 <?...20", "30"); 注意:数组是复杂类型,不能使用 echo 直接打印,只能打印其中的某个元素,复杂类型使用 print_r 或者 var_dump。...var_dump:输出复杂的数据类型 print_r:输出复杂的数据类型 count:得到数组的长度 自定义函数: 和 js 类似,以 function 进行声明。...请求类型 请求的时候是需要携带参数的,用来表示不同的要求,根据参数的不同,而展示不同的界面。 根据参数携带的位置不同,可以简单把请求分为 Get 请求 和 Post 请求。...获取请求参数的值 $_GET["属性名字"] :获取 get 请求的属性的值。 $_POST["属性名字"] :获取 post 请求的属性的值。

    1.1K20

    php中echo、print、print_r、var_dump、var_export区别

    (1) print和echo是语言结构,echo输出多个值,多个值之间用逗号分隔,无返回值;print只能输出一个值,有返回值。...(2) print_r()除了输出整型和字符串,还可以输出数组和对象,数组和对象使用键值对形式表示,数组时候array(键值对形式);对象时候Object(键值对形式);没法打印布尔型,如果true,打印...(3) var_dump()判断变量的类型与长度,并输出变量的数值。如果是数组和对象,将递归展开值,通过缩进显示其结构。能够打印布尔和NULL。...(4) var_export()和var_dump()类似,其返回合法的php代码,其返回值可以赋值给php变量。...(4)var_dump()除了打印整型、字符串、数组、对象,还能打印布尔型。而且是输出变量类型、长度和值。

    2K50

    【说站】Js值传递和引用传递的不同

    Js值传递和引用传递的不同 概念不同 1、值传递为单向传递,只能由实参传递给形参,形参无法改变实参的值。 2、引用类型传递可以通过改变形参而改变实参。...只要任何一个变量指向同一个空间,那么该变量都可以去操作该空间的值。 传递的数据类型 3、值传递传递的是一个值。引用传递传递的是一个对象。... = new Object(); //创建一个全新的对象,指向的不是外部创建的对象 Orville's Ideas and Interests = "123"; //为新创建的对象添加属性 } var ...obj = new Object(); fn(obj); console.log(Orville's Ideas and Interests); //obj为外部创建的对象所以输出值为“abc” 以上就是...Js值传递和引用传递的不同,希望对大家有所帮助。

    2.4K21

    PHP中的国际化日历类

    这时,就可以使用 IntlDateFormatter 类的 formatObject() 方法来格式化输出内容,它是可以指定地区的,不同的地区设置就会显示不同的格式化语言结果。...getActualMinimum() 、getMinimum() 返回的是实际最小值和正常最小值,这个对于月份来说都是 1 ,每个月都肯定会有第 1 天。...getLeastMaximum() 方法是获取字段的最小局部最大值,怎么理解呢?2月份最小天数是28天,它的局部最大值也就是28天,其它月份则分 30 和 31 天。...我们再使用 IntlDateFormatter::formatObject() 输出当前日期在周几、在月中的第几周以及当前周是今年的第几周。...其它信息 查看区域设置关键字值集 print_r(iterator_to_array(IntlCalendar::getKeywordValuesForLocale('calendar', 'zh_CN

    1.5K30

    通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

    这样,攻击者就可以在请求中插入有效的URL编码字符,从而绕过WAF的过滤。 需要注意的是,这种方法并不是所有WAF都有效,因为不同的WAF可能会有不同的特性和行为。...,比如:**passthru、exec、system等等 从这里看的话命令执行是行不通了,既然phpinfo()可以打通,那咱们就用PHP内置输出函数来获取flag值 PHP的输出函数有: echo...()可输出字符串 print()、print_r()、printf()、sprintf()、var_dump()可输出变量的内容、类型或字符串的内容、类型、长度等 die()输出内容并退出程序 经过测试只有...print_r()函数和var_dump()函数可以输出内容 靠这些还远远不够 还需要用到两个函数和一个方法 scandir() 函数返回指定目录中的文件和目录的数组,类似于Linux里面的“ls...spm=1001.2014.3001.5502 查看根目录下的所有文件(print_r和var_dump两种方法对比参考) ?

    31320

    通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

    这样,攻击者就可以在请求中插入有效的URL编码字符,从而绕过WAF的过滤。 需要注意的是,这种方法并不是所有WAF都有效,因为不同的WAF可能会有不同的特性和行为。...,比如:**passthru、exec、system等等 从这里看的话命令执行是行不通了,既然phpinfo()可以打通,那咱们就用PHP内置输出函数来获取flag值 PHP的输出函数有: echo...()可输出字符串 print()、print_r()、printf()、sprintf()、var_dump()可输出变量的内容、类型或字符串的内容、类型、长度等 die()输出内容并退出程序 经过测试只有...print_r()函数和var_dump()函数可以输出内容 靠这些还远远不够 还需要用到两个函数和一个方法 scandir() 函数返回指定目录中的文件和目录的数组,类似于Linux里面的“ls...spm=1001.2014.3001.5502 查看根目录下的所有文件(print_r和var_dump两种方法对比参考) ?

    35840

    通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理Easy Calc 1

    这样,攻击者就可以在请求中插入有效的URL编码字符,从而绕过WAF的过滤。 需要注意的是,这种方法并不是所有WAF都有效,因为不同的WAF可能会有不同的特性和行为。...,比如:**passthru、exec、system等等 从这里看的话命令执行是行不通了,既然phpinfo()可以打通,那咱们就用PHP内置输出函数来获取flag值 PHP的输出函数有: echo...()可输出字符串 print()、print_r()、printf()、sprintf()、var_dump()可输出变量的内容、类型或字符串的内容、类型、长度等 die()输出内容并退出程序 经过测试只有...print_r()函数和var_dump()函数可以输出内容 靠这些还远远不够 还需要用到两个函数和一个方法 scandir() 函数返回指定目录中的文件和目录的数组,类似于Linux里面的“ls...spm=1001.2014.3001.5502 查看根目录下的所有文件(print_r和var_dump两种方法对比参考) ?

    34830
    领券