因為我個人是 print_r 的愛用者,但有一個問題一直很困擾我,就是布林值無法正常顯示的問題。
我後來花了一點時間寫了一個 function 叫 print_r_fix 來解決這個問題,有需要的朋友請自行取用。
程式碼
<?php /** * 修正 print_r 無法正常顯示布林值的問題 * 直接把布林值取代成字串 * @author Leo.Kuo */ function print_r_fix($value) { function print_r_boolean_fix($value) { if (is_array($value)) { foreach ($value as $key => $v) { $value[$key] = print_r_boolean_fix($v); } } else if (gettype($value) == "boolean") { $boolean_str = ($value) ? "True" : "False"; $value = "{$boolean_str} (Boolean)"; } return $value; } print_r(print_r_boolean_fix($value)); } /************************** demo ******************************/ $arr = array ( 'a' => 1, 'b' => FALSE, 'c' => array ( 'e' => TRUE, 'f' => 'Hello World!', 'g' => array ( 'h' => FALSE, 'i' => 1.234 ) ) ); echo "<pre>"; print_r_fix($arr); echo "</pre>"; ?>
執行結果
Array ( [a] => 1 [b] => False (Boolean) [c] => Array ( [e] => True (Boolean) [f] => Hello World! [g] => Array ( [h] => False (Boolean) [i] => 1.234 ) ) )
GitHub: https://github.com/fishingboy/Library/blob/master/PHP/print_r_fix.php
全站熱搜