最近在面試時,PHP常有出這一題來考,稍微解釋一下

echo 和 print 都是一個語言結構,單純把想顯示的輸出而己,差別在於echo 沒有返回值而 print有.

http://docs.php.net/manual/zh/function.print.php

而print_r 和 var_dump

print_r 如果給出的是 stringinteger float,將列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與陣列類似。

<?php
    $a 
= array ('a' => 'apple''b' => 'banana''c' => array ('x','y','z'));
    
print_r ($a);
?>

結果

Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)

而var_dump除了print_r的資訊外,還會再列出變數型態,輸出會像下面的

array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } }
arrow
arrow
    創作者介紹
    創作者 痞客興 的頭像
    痞客興

    痞客興的部落格

    痞客興 發表在 痞客邦 留言(0) 人氣()