一尘不染

打印$ _POST变量名称和值

php

我在PHP中有一个POST,但我并不总是知道将要处理的变量字段的名称。

我有一个可以遍历值的函数(但是我也想捕获它附带的变量名。)

foreach ($_POST as $entry)
{
     print $entry . "<br>";
}

一旦弄清楚如何获取变量名,我还需要弄清楚如何使函数足够智能以检测和遍历变量的数组(如果存在)(即如果我有一些复选框值)。


阅读 382

收藏
2020-05-29

共1个答案

一尘不染

如果您只想打印整个$
_POST数组以验证是否正确发送了数据,请使用print_r

print_r($_POST);

要递归打印数组的内容:

printArray($_POST);

function printArray($array){
     foreach ($array as $key => $value){
        echo "$key => $value";
        if(is_array($value)){ //If $value is an array, print it as well!
            printArray($value);
        }  
    } 
}

将一些填充应用于嵌套数组:

printArray($_POST);

/*
 * $pad='' gives $pad a default value, meaning we don't have 
 * to pass printArray a value for it if we don't want to if we're
 * happy with the given default value (no padding)
 */
function printArray($array, $pad=''){
     foreach ($array as $key => $value){
        echo $pad . "$key => $value";
        if(is_array($value)){
            printArray($value, $pad.' ');
        }  
    } 
}

如果给定变量是数组,则is_array返回true。

您还可以使用array_keys,它将返回所有字符串名称。

2020-05-29