php 变量调试,PHP变量调试函数

PHP程序的调试一直是一件让人头疼的事,它既不像VB等高级语言那样有集成的编译调试环境,也不想Perl那样可以在Linux或者DOS环境下直接运行。其实,我们完全可以通过灵活地使用echo语句来完成对PHP的调试工作。下面的几个函数可以让你随时查看程序中任何变量的类型及其值。

1.[代码][PHP]代码

function ss_array_as_string (&$array, $column = 0) {

$str = "Array(n";

while(list($var, $val) = each($array)){

for ($i = 0; $i < $column+1; $i++){

$str .= "    ";

}

$str .= $var. '==>' ;

$str .= ss_as_string($val, $column+1)." n";

}

for ($i = 0; $i < $column; $i++){

$str .= "    ";

}

return $str.);

}

function ss_object_as_string (&$object, $column = 0) {

if (empty($object->classname)) {

return "$object";

} else {

$str = $object->classname."( n";

while (list(,$var) = each($object->persistent_slots)) {

for ($i = 0; $i < $column; $i++){

$str .= "    ";

}  global $$var;  $str .= $var. '==>' ;

$str .= ss_as_string($$var, column+1)." n";

}

for ($i = 0; $i < $column; $i++){

$str .= "    ";

}

return $str.')';

}

}

function ss_as_string (&$thing, $column = 0) {

if (is_object($thing)) {

return ss_object_as_string($thing, $column);

} elseif (is_array($thing)) {

return ss_array_as_string($thing, $column);

} elseif (is_double($thing)) {

return "Double(".$thing.")";

} elseif (is_long($thing)) {

return "Long(".$thing.")";

} elseif (is_string($thing)) {

return "String(".$thing.")";

} else {

return "Unknown(".$thing.")";

}

}

2.[代码]需要的时候,在程序中简单地加入下面的一条代码即可查看程序中的所使用的变量(包括数组和对象)的类型和值

echo ss_as_string($my_variable);

3.[代码]使用下面的语句,我们可以直接查看程序中所有的变量的值

echo ss_as_string($GLOBALS);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python100以内自然数之和_python教程:利用while求100内的整数和

1到100的和&#xff1a; 定义2个变量i和sum&#xff0c;初值都为1&#xff0c;i的值每次增加1,取到100后结束程序&#xff0c;sum的值等于自身再加上i的值。这样i从2取到100&#xff0c;并且每次都与sum相加。 #!/usr/bin/env python #-*- coding:utf-8 -*- i1 sum1 while True…

php取mod,php支持mod及php-cgi的方式

PHP运行模式:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模式)HTTPServer有三种架构比较流行&#xff1a;(1)Apachemod_php5(2)lighttpspa…

delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)

spring boot 传参spring boot 中的Controller或者RestController接收参数的方法是一样的。这章目标是对几种常用的传参都写个例子。创建package: com.biboheart.demos.api&#xff0c;这个包里放置API接口的RestController在com.biboheart.demos.api包中创建一个class: ParamCo…

JAVA计算bigd,计算Java中BigInteger的功能

pow()在Java中使用BigInteger方法来计算BigInteger的功效。首先&#xff0c;让我们创建一些对象。BigInteger one, two;one new BigInteger("5");执行电源操作并将其分配给第二个对象-//电源操作two one.pow(3);以下是一个例子-示例import java.math.*;public clas…

python读取二进制文件_如何用python读取二进制文件?

我发现用Python读取二进制文件特别困难。你能帮我一把吗&#xff1f;我需要读取这个文件&#xff0c;在Fortran 90中&#xff0c;该文件很容易被int*4 n_particles, n_groups real*4 group_id(n_particles) read (*) n_particles, n_groups read (*) (group_id(j),j1,n_particl…

lastindexof php,javascript 中查找指定字符串indexOf(),lastIndexOf(),match()

在javascript中&#xff0c;有以下三个方法均可实现在字符串中查找指定的字符及字符串。str.indexOf(); 此方法&#xff1a;查找字符在字符串对象中第一次出现的位置。存在&#xff0c;则返回字符串所在的位置。不存在&#xff0c;则返回-1。str.lastIndexOf(); 该方法查找字符…

ssh-copy-id命令不存在_Redis(三)- 常见命令

步骤1:5种数据类型步骤2:String 字符串步骤3:List 列表步骤4:Hash 字典&#xff0c;哈希表步骤5:Set 集合步骤6:Sorted Set 有序集合步骤7:官方命令手册步骤 1 : 5种数据类型Redis目前有5种数据类型&#xff0c;分别是&#xff1a;String&#xff08;字符串&#xff09;List&am…

matlab中极大似然估计法的应用程序,matlab用fmincon函数求极大似然估计

%l1_s分别是不同实验条件下的数据&#xff0c;下面的函数为极大既然函数的负值&#xff0c;先用fmincon求解&#xff0c;运行出错了。function [l1_s,l2_s,l3_s,l4_s,l5_s,l6_s] readandevaluate(filename)global l1_s l2_s l3_s l4_s l5_s l6_s;filename li_s.xlsx;l1_s xl…

python 字符串替换_学完Python打算出去找工作,怕找不到?看完这篇你可以提高通过率...

面试题目一&#xff1a;Python是如何进行类型转换的&#xff1f;1 函数 描述 2 int(x [,base ]) 将x转换为一个整数 3 long(x [,base ]) 将x转换为一个长整数 4 float(x ) 将x转换到一个浮点数 5 complex(real [,imag ]) 创建一个复数 6 str(x ) 将对象 x 转换为字符串 7 repr(…

matlab bmp hsi,matlab中RGB与HSI图像转化

姓名&#xff1a;边颖超学号&#xff1a;19021210974编程实现RGB与HSI彩色空间的转换&#xff0c;将一幅彩色图像分解为H、S、I三个分量&#xff0c;并显示这三个分量所对应的灰度图像。(1)利用imread函数读入灰度图片hurricane&#xff0c;并命名为Original Imagel&#xff1b…

vue.js php,vue.js去哪下载

vue.js可以去vue官网下载&#xff0c;其下载链接为“vuejs.org/v2/guide/installation.html”&#xff0c;然后用“本教程操作环境&#xff1a;Windows7系统、vue2.5.16版&#xff0c;该方法适用于所有品牌电脑。 vue.js下载及安装的三种方法 要下载安装vue首先得下载安装node.…

python url加密_使用base64加密在URL传递(python和php版本)

把base64加密后在url传输&#xff0c;会把““&#xff0c;”/”分别替换为”-“&#xff0c;”_”&#xff0c;以及会把末尾的等号“”去掉。 另外base64加密后的长度必然是4的倍数&#xff0c;所以可以根据这个还原“”号 解密的过程就是这个的逆向。 注意&#xff1a;python…

php扑克牌排序,PHP实现判断扑克牌5张连续

// 思路//先给数组排序、检查数组中是否有2个值相等的&#xff0c;如果有则直接不是&#xff1b;//判断数组中 0 的个数 数组中两个值之间比较的差值相加 < 0的个数&#xff0c;否则补数不够$arr array(1, 0, 0, 1, 0);if(count($arr) < 5) {echo ‘arr not five’;exit…

bootstrap table无法服务器分页_[精选] MySQL百万数据,你如何用分页来查询数据

文章来自&#xff1a;https://www.cnblogs.com/lxwphp/p/9237331.html商务合作: 请加微信 2230304070精选文章正文在开发过程中我们经常会使用分页&#xff0c;核心技术是使用limit进行数据的读取&#xff0c;在使用limit进行分页的测试过程中&#xff0c;得到以下数据&#xf…

excel的mysql语言,Mysql中文乱码及导出sql语句和Excel的相关解决方法

这几天基于Heritrix写了一个爬虫&#xff0c;用到mysql&#xff0c;在导入导出数据时&#xff0c;遇到一些乱码问题&#xff0c;好不容易解决了&#xff0c;记录一下&#xff0c;以备查看。一、导出数据。先说明一下自己的环境&#xff1a;Mac OS X 10.8.3, MySQL Community Se…

conda pip安装在哪里_Python环境篇-Minicondaamp;Pip使用汇总

一、下载推荐miniconda&#xff0c;很方面管理python多版本环境&#xff0c;比Anaconda轻量。选择合适的版本&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/或者Linux上直接执行&#xff1a;wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/minic…

exchange java对象,【原】Java并发程序的一个应用Exchanger的实例

【原】Java并发程序的一个使用Exchanger的实例今天看了些Exchanger的资料&#xff0c;有个喝水的例子不错。我这里细化了以下&#xff0c;并得到实现。思路&#xff1a;有一个Drinker和一个Waiter&#xff0c;有两个杯子&#xff0c;一个空杯子&#xff0c;一个杯子有3升水&…

jquery 循环_jquery实现无限循环滚动

复制下面代码查看效果原文链接&#xff1a;https://blog.csdn.net/qq_45378970/article/details/108903054?utm_mediumdistribute.pc_category.none-task-blog-hot-4.nonecase&depth_1-utm_sourcedistribute.pc_category.none-task-blog-hot-4.nonecase&request_id作者…

html与java接口,JavaWeb学习——Servlet相关的接口和类

JavaWeb学习——Servlet相关的接口和类摘要&#xff1a;本文主要学习了Servlet相关的接口和类。Servlet的接口和类三种方式实现Servlet有三种方式&#xff1a;实现javax.servlet.Servlet接口。继承javax.servlet.GenericServlet类。继承javax.servlet.http.HttpServlet类。实现…

delphi7 获取dll的类_跟我学Java内存管理----JMM精华终章(类加载器)

1 类加载器1.1 类的加载过程当程序要使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则系统会通过加载&#xff0c;连接&#xff0c;初始化三步来实现对这个类进行初始化。(1)加载就是指将class文件读入内存&#xff0c;并为之创建一个Class对象。任何类被使用…