亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

通過(guò)自己PHP編碼實(shí)現(xiàn)var_dump()方法

alighters / 2446人閱讀

摘要:個(gè)人學(xué)習(xí)筆記核心源碼如下打印打印單個(gè)變量打印數(shù)組前置空格打印對(duì)象前置空格測(cè)試代碼效果如下

個(gè)人學(xué)習(xí)筆記
核心源碼如下:
/**
 * 打印
 * @param array ...$params
 * @author klinson 
 */
function info(...$params)
{
    foreach ($params as $param) {
        info_item($param);
    }
}

/**
 * 打印單個(gè)變量
 * @param $param
 * @param int $i
 * @author klinson 
 */
function info_item($param, $i = 0)
{
    switch (gettype($param)) {
        case "array":
            info_array($param, $i);
            break;
        case "object":
            info_object($param, $i);
            break;
        case "boolean":
            echo "bool(".($param ? "true" : "false").")";
                break;
        case "integer":
            echo "int({$param})";
            break;
        case "string":
            echo "string({$param})";
            break;
        case "double":
            echo  "float({$param})";
            break;
        case "null":
            echo "null";
            break;
        case "resource":
            echo "resource";
            break;
        default:
            echo "UNKNOWN TYPE";
            break;
    }
    echo PHP_EOL;
}

/**
 * 打印數(shù)組
 * @param $param
 * @param int $i
 * @author klinson 
 */
function info_array($param, $i = 0)
{
    // 前置空格
    $space = "";
    $num = $i;
    while ($num) {
        $space .= "  ";
        $num--;
    }

    echo "array[".count($param)."]: {".PHP_EOL;
    foreach ($param as $key => $item) {
        echo $space."  [{$key}] => ";
        info_item($item, $i+1);
    }
    echo $space."}";
}

/**
 * 打印對(duì)象
 * @param $param
 * @param int $i
 * @author klinson 
 */
function info_object($param, $i = 0)
{
    // 前置空格
    $space = "";
    $num = $i;
    while ($num) {
        $space .= "  ";
        $num--;
    }

    echo "object(".get_class($param)."[".count($param)."]): {".PHP_EOL;
    foreach ($param as $key => $item) {
        echo $space."  [{$key}] => ";
        info_item($item, $i+1);
    }
    echo $space."}";
}
測(cè)試代碼:
$a = 1.11;
$b = "a";
$c = [$a, $b];
$d = new stdClass();
$d->aaa = "aaa";
$d->bb = $c;
info($a, $b, $c, $d);
效果如下:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29843.html

相關(guān)文章

  • PHP細(xì)節(jié):foreach、(漢子)字符串反轉(zhuǎn)、isset,empty用法區(qū)別以及0、‘’、null

    摘要:規(guī)定要反轉(zhuǎn)的字符串。參考文檔實(shí)現(xiàn)字符串翻轉(zhuǎn)包含中文漢字參考處理漢字官方文檔函數(shù)最下面給出了支持的方案三用法區(qū)別以及之間關(guān)系用法如果是非空或非零的值,則返回。若想檢測(cè)常量是否已設(shè)置,可使用函數(shù)。 一、foreach 第一題: //1.for循環(huán)執(zhí)行幾次 //for($i=0;$i=1;$i++){ // echo $i; //} $i==1條件很成立,死循環(huán) for($i=0;$...

    孫淑建 評(píng)論0 收藏0
  • PHP7新特性的介紹

    摘要:截止到目前為止,官方已經(jīng)發(fā)布了的版本,距離發(fā)布第一個(gè)正式版本不會(huì)很遠(yuǎn)了現(xiàn)在來(lái)說(shuō)的重大特性肯定已經(jīng)是定型了,不會(huì)再有什么變動(dòng)了。 截止到目前為止,PHP官方已經(jīng)發(fā)布了php7的RC7版本,距離發(fā)布第一個(gè)正式版本不會(huì)很遠(yuǎn)了!現(xiàn)在來(lái)說(shuō)php7的重大特性肯定已經(jīng)是定型了,不會(huì)再有什么變動(dòng)了。后續(xù)一些版本的迭代主要也就是修修bug,優(yōu)化之類(lèi)的。下面就來(lái)說(shuō)話(huà)我們一直期待的php7會(huì)有那些主要的變化...

    klivitamJ 評(píng)論0 收藏0
  • php獲取編碼方式及改變編碼方法

    摘要:場(chǎng)景說(shuō)明此變量存儲(chǔ)的為通過(guò)等方式獲取到的字符串,拿到后瀏覽器為亂碼實(shí)際為,轉(zhuǎn)化編碼格式后為正常數(shù)據(jù),拿到中也為,但是此碼就是為得到目前編碼轉(zhuǎn)化編碼字不如圖是最常用的表示方法。瀏覽器編碼表上的,通常都是指表示法。 抓xx頁(yè)面的時(shí)候,雖然返回?cái)?shù)據(jù)為json格式的,但是是非utf-8的,這樣json_decode的時(shí)候返回的是null,因?yàn)閖son只是支持UTF-8/ASCII,應(yīng)該也有其他...

    qylost 評(píng)論0 收藏0
  • php如何openssl_encrypt加密解密

    摘要:密鑰長(zhǎng)度是位,超過(guò)位數(shù)密鑰被忽略??缯Z(yǔ)言做加密解密經(jīng)常會(huì)出現(xiàn)問(wèn)題,往往是填充方式不對(duì)編碼不一致或者加密解密模式?jīng)]有對(duì)應(yīng)上造成。是為了兼容用加密的結(jié)果。 最近在對(duì)接客戶(hù)的CRM系統(tǒng),獲取令牌時(shí),要用DES方式加密解密,由于之前沒(méi)有搞錯(cuò)這種加密方式,經(jīng)過(guò)請(qǐng)教了百度和谷歌兩個(gè)老師后,結(jié)合了多篇文檔內(nèi)容后,終于實(shí)現(xiàn)了。 一、DES介紹 DES 是對(duì)稱(chēng)性加密里面常見(jiàn)一種,全稱(chēng)為 Data Enc...

    JouyPub 評(píng)論0 收藏0
  • PHP面試之一:PHP基礎(chǔ)知識(shí)點(diǎn)

    摘要:之前,第三方編譯是管理器,是解釋器之后,官方自帶,與模式。又是解釋器,又是管理器以模塊模式運(yùn)行常見(jiàn)配置數(shù)組排序 PHP引用變量 什么是引用變量?如何定義引用變量? 引用意味著用不同的名字訪(fǎng)問(wèn)同一個(gè)內(nèi)容定義引用變量:使用& 引用變量的工作原理 普通變量的工作原理 $a = range(0,10000); var_dump(memory_get_usage()); //int(7420...

    waterc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<