PHP递归函数内的静态变量

作者:matrix 被围观: 4,464 次 发布时间:2015-06-20 分类:兼容并蓄 零零星星 | 一条评论 »

这是一个创建于 3195 天前的主题,其中的信息可能已经有所发展或是发生改变。

//静态变量的例子

/**
 * 将数组转换为字符
 *
 * 用于缓存
 *
 * @param $data
 * @return string
 */
function philnaArray2String($data, $returns = '')
{
    static $t = 1;
    $tabType = " ";
    $tab = str_repeat($tabType, $t);
    $data = (array)$data;
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $t++;
            $returns .= "$tab'" . $key . "' => array(\n" . philnaArray2String($value) . "$tab),\n";
        } else {
            if (!is_bool($value)) {
                $value = "'" . addslashes($value) . "'";
            }
            $returns .= "$tab'" . $key . "' => $value,\n";
        }
    }
    $returns = substr_replace($returns, '', -2, -1);
    return $returns;
}

说明:
上面php代码中的$t被static修饰,即为静态变量
静态变量在函数执行完毕后不会释放,会继续累加下去
赶脚非常合适在递归函数中用

参考:http://blog.csdn.net/shaerdong/article/details/8545874

其他文章:
本文固定链接:https://www.hhtjim.com/static-variables-within-the-php-recursive-functions.html
matrix
本文章由 matrix 于2015年06月20日发布在兼容并蓄, 零零星星分类下,目前没有通告,你可以至底部留下评论。
转载请注明:PHP递归函数内的静态变量-HHTjim'S 部落格
关键字:, ,

有1条评论 »

  1. 大米价格 大米价格 2015-7-4 16:44:48 +0800#1

    PHP 不好弄啊

添加新评论 »

 🙈 😱 😂 😛 😭 😳 😀 😆 👿 😉 😯 😮 😕 😎 😐 😥 😡 😈 💡

插入图片

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!