"PHP 함수 trace()"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(다른 사용자 한 명의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
;PHP 함수 trace
;PHP 함수 trace


==소스 코드==
==v2==
<source lang='php'>
<syntaxhighlight lang='php'>
<?php
function trace() {
ob_start();
foreach( func_get_args() as $o ) {
if( empty($o) || is_bool($o) ) {
var_dump($o); echo PHP_EOL;
continue;
}
if( is_string($o) || is_numeric($o) ) {
echo $o.PHP_EOL;
continue;
}
print_r($o);
}
$res = ob_get_clean();
if( php_sapi_name() == 'cli' ) echo $res;
else echo "<xmp>$res</xmp>";
}
</syntaxhighlight>
<syntaxhighlight lang='php'>
trace(null);
trace(0);
trace('');
# NULL
# int(0)
# string(0) ""
 
trace(true);
trace(false);
# bool(true)
# bool(false)
 
trace([]);
# array(0) {
# }
trace([1,2]);
# Array
# (
#    [0] => 1
#    [1] => 2
# )
trace(['name'=>'Fido','age'=>2]);
# Array
# (
#    [name] => Fido
#    [age] => 2
# )
 
trace(new stdClass());
# stdClass Object
# (
# )
</syntaxhighlight>
 
==v1==
<syntaxhighlight lang='php'>
function trace($obj) {
function trace($obj) {
if( php_sapi_name() != 'cli' ) {
        if( php_sapi_name() != 'cli' ) {
echo "<xmp>";
                echo '<xmp>';
print_r($obj);
                print_r($obj);
echo "</xmp>";
                echo '</xmp>';
}
                return;
if( is_bool($obj) ) {
        }
var_dump($obj);
        if( is_bool($obj) ) {
echo PHP_EOL;
                var_dump($obj);
return;
                echo PHP_EOL;
}
                return;
if( is_string($obj) ) {
        }
echo $obj.PHP_EOL;
        if( is_string($obj) || is_numeric($obj) ) {
return;
                echo $obj.PHP_EOL;
}
                return;
print_r($obj);
        }
        print_r($obj);
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
*[[PHP 함수 xmp]]
*[[PHP 함수 xmp()]]
*[[PHP 함수 is_cli]]
*[[PHP 함수 is_cli()]]


[[분류: PHP]]
[[분류: PHP]]
[[분류: Zetautil]]
[[분류: jmphp]]

2020년 11월 2일 (월) 02:35 기준 최신판

PHP 함수 trace

1 v2[ | ]

<?php
function trace() {
	ob_start();
	foreach( func_get_args() as $o ) {
		if( empty($o) || is_bool($o) ) {
			var_dump($o); echo PHP_EOL;
			continue;
		}
		if( is_string($o) || is_numeric($o) ) {
			echo $o.PHP_EOL;
			continue;
		}
		print_r($o);
	}
	$res = ob_get_clean();	
	if( php_sapi_name() == 'cli' ) echo $res;
	else echo "<xmp>$res</xmp>";
}
trace(null);
trace(0);
trace('');
# NULL
# int(0)
# string(0) ""

trace(true);
trace(false);
# bool(true)
# bool(false)

trace([]);
# array(0) {
# }
trace([1,2]);
# Array
# (
#     [0] => 1
#     [1] => 2
# )
trace(['name'=>'Fido','age'=>2]);
# Array
# (
#     [name] => Fido
#     [age] => 2
# )

trace(new stdClass());
# stdClass Object
# (
# )

2 v1[ | ]

function trace($obj) {
        if( php_sapi_name() != 'cli' ) {
                echo '<xmp>';
                print_r($obj);
                echo '</xmp>';
                return;
        }
        if( is_bool($obj) ) {
                var_dump($obj);
                echo PHP_EOL;
                return;
        }
        if( is_string($obj) || is_numeric($obj) ) {
                echo $obj.PHP_EOL;
                return;
        }
        print_r($obj);
}

3 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}