php如何根据函数名打印出函数内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何根据函数名打印出函数内容相关的知识,希望对你有一定的参考价值。

参考技术A php --rf!!!!!!

打印 $_POST 变量名和值

【中文标题】打印 $_POST 变量名和值【英文标题】:Print $_POST variable name along with value 【发布时间】:2011-03-30 04:44:42 【问题描述】:

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

我有一个函数会循环遍历这些值(但是我也想捕获与之相关的变量名。)

foreach ($_POST as $entry)

     print $entry . "<br>";

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

【问题讨论】:

这个问题肯定没有本地化,因为我也经历过类似的情况。 【参考方案1】:

您可以让 foreach 循环显示索引和值:

foreach ($_POST as $key => $entry)

     print $key . ": " . $entry . "<br>";

关于数组检查,使用is_array()函数:

foreach ($_POST as $key => $entry)

     if (is_array($entry)) 
        foreach($entry as $value) 
           print $key . ": " . $value . "<br>";
        
      else 
        print $key . ": " . $entry . "<br>";
     

【讨论】:

【参考方案2】:

如果您只想打印整个 $_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 来返回所有的字符串名称。

【讨论】:

【参考方案3】:

如果您想检测数组字段,请使用如下代码:

foreach ($_POST as $key => $entry)

    if (is_array($entry))
        print $key . ": " . implode(',',$entry) . "<br>";
    
    else 
        print $key . ": " . $entry . "<br>";
    

【讨论】:

【参考方案4】:

使用起来会好很多:

if ($'_'.$_SERVER['REQUEST_METHOD']) 
    $kv = array();
    foreach ($'_'.$_SERVER['REQUEST_METHOD'] as $key => $value) 
        $kv[] = "$key=$value";
    

【讨论】:

以上是关于php如何根据函数名打印出函数内容的主要内容,如果未能解决你的问题,请参考以下文章

python面试题,设计装饰器,接收一个int类型的参数,可以用来装饰任何的函数, 如果函数运行的时间大于number,则打印出函数名和函数的运行时间

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

打印 $_POST 变量名和值

常用函数库functions简介

c语言 如何打印函数指针名

php如何调用函数