
正文
php打印表格数据类型 php打印方式
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php怎么用print_r()以表格的形式输出数组
?
//打印表格
print_r("table");
for($a=0;$acount($row);$a++)
{
print_r("tr");
print_r("td".$row[$a][xm]."/td");
print_r("td".$row[$a][yhm]."/td");
print_r("td".$row[$a][yy]."/td");
print_r("td".$row[$a][gs]."/td");
print_r("td".$row[$a][cyy]."/td");
print_r("/tr");
}
print_r("/table");
?
相关问答
Q1: php 中,怎么打印$_POST传过来得值?
PHP 中的 print_r() 函数可以实现
print_r() 打印关于变量的易于理解的信息。
bool print_r ( mixed $expression [, bool $return ] )
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 floatphp打印表格数据类型,将打印变量值本身。如果给出的是 arrayphp打印表格数据类型,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
pre
?php
$a = array ('a' = 'apple', 'b' = 'banana', 'c' = array ('x','y','z'));
print_r ($a);
?
/pre
上边的代码将输出:
pre
Array
(
[a] = apple
[b] = banana
[c] = Array
(
[0] = x
[1] = y
[2] = z
)
)
/pre
同样,PHP 中的 var_dump() 也可以实现,并且可以输出相应的数据类型、长度等。
Q2: dump方法打印表格
在多人合作项目中偶尔会遇到这样的情况:
现在在调试程序php打印表格数据类型,从其php打印表格数据类型他小伙伴提供的方法中取到的table类型数据报错了php打印表格数据类型,此时php打印表格数据类型我们想检查一下数据格式。但是直接print又无法打印出来这个table的结构,真机测试时又不太方便在Lua中打断点,用for循环来输出又不能展开所有子table(有个dump工具该多好)。
所以,如果想解决上面的问题,将整个table类型数据的结构输出到控制台,那就使用循环+递归的方式来输出数据吧。
下面直接贴上代码以及测试用例:
感谢老司机Reyn在评论中提出的建议
--[[
print_dump是一个用于调试输出数据的函数,能够打印出nil,boolean,number,string,table类型的数据,以及table类型值的元表
参数data表示要输出的数据
参数showMetatable表示是否要输出元表
参数lastCount用于格式控制,用户请勿使用该变量
]]
function print_dump(data, showMetatable, lastCount)
if type(data) ~= "table" then
--Value
if type(data) == "string" then
io.write("\"", data, "\"")
else
io.write(tostring(data))
end
else
--Format
local count = lastCount or 0
count = count + 1
io.write("{\n")
--Metatable
if showMetatable then
for i = 1,count do io.write("\t") end
local mt = getmetatable(data)
io.write("\"__metatable\" = ")
print_dump(mt, showMetatable, count) -- 如果不想看到元表的元表,可将showMetatable处填nil
io.write(",\n") --如果不想在元表后加逗号,可以删除这里的逗号
end
--Key
for key,value in pairs(data) do
for i = 1,count do io.write("\t") end
if type(key) == "string" then
io.write("\"", key, "\" = ")
elseif type(key) == "number" then
io.write("[", key, "] = ")
else
io.write(tostring(key))
end
print_dump(value, showMetatable, count) -- 如果不想看到子table的元表,可将showMetatable处填nil
io.write(",\n") --如果不想在table的每一个item后加逗号,可以删除这里的逗号
end
--Format
for i = 1,lastCount or 0 do io.write("\t") end
io.write("}")
end
--Format
if not lastCount then
io.write("\n")
end
end
下面分别输出了nil,boolean,number,string,table类型的数据,测试代码如下:
print("---------------Test---------------")
local myData = nil
print_dump(myData)
print("-------------------")
myData = true
print_dump(myData)
print("-------------------")
myData = 10086
print_dump(myData)
print("-------------------")
myData = "your name"
print_dump(myData)
print("-------------------")
myData = {
null = nil,
bool = true,
num = 20,
str = "abc",
subTab = {"111", "222"},
func = print_dump,
sunTab = {"sun_a", {"sun_1", "sun_2"}, {you = "god", i = "man"}}
}
local mt = {}
mt.__add = function(op1, op2) return 1000 end
mt.__index = {1,2}
setmetatable(myData, mt)
print_dump(myData, 1) -- 第二个参数不为空则打印元表
print("---------------End---------------")
dump输出的结果是这样的(因为内容太长,屏幕高度不够,所以分成了两张图):
上半部分输出.jpeg
下半部分输出.jpeg
如果不是有特殊需求,建议按照注释的提示,屏蔽子级table类型值的元表。屏蔽子级table类型值的元表之后输出看起来清爽很多。
屏蔽子级table的元表后的输出.jpeg
总结:
其实解决问题不难,需求是成长的直接动力。
其实为了dump输出图上的效果,我还是花了一些时间去做微调。最初末尾是没有换行的,也就是End那一行会紧接着上一行输出,虽然table的结构可以正常看到,但是如果dump的不是一个table,那就看着很奇怪了。时间总是花在细节上。
Q3: PHP的数据类型有哪些?每种数据类型适用于哪些应用场合?
借用“短发人”的数据,手工完善一下。
boolean (布尔型) 一般用于判断,true或false。比如是否检测,是否完成,是否毕业等。
integer (整型)一般用于年龄,数量等没有小数点的计算。比如1 2 33 -9等。
float (浮点型, 也称作 double) 一般用于金钱,面积、体积等科学,含小数点的计算。比如3.1415926585897932
string (字符串)一般用于人名,物品等常规字符串。比如“张三”“桌子”“我来了”
array (数组)一般用于复杂数据处理,可以多维数据结构,可以放布尔、整型、浮点、字符、数组等。
object (对象) 一般用于面向对象,里面包含方法和变量。
php打印表格数据类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php打印方式、php打印表格数据类型的信息别忘了在本站进行查找喔。






