2014-01-08 53 views
3

我这样编码。PHP函数有点奇怪

<?php 
function get_argument($arg){ 
    return $arg; 
} 
echo print get_argument(33); 
?> 

另存为php扩展名文件。 然后在Chrome中执行它。我希望它打印出数“33”

但它告诉我,“331”

有点怪我。因此,我改变,而不是33

它打印出“341”

值34,所以我测试一次。

再插入两个这样的代码。

echo get_argument(33); 
print get_argument(33); 

他们都打印出相同的号码,这是 '33'

有什么区别?是什么导致了一点,但是结果很大?

+1

'echo'和'print'都输出你的参数。停止使用两者。 –

+0

为什么你在回声里使用print? – user2936213

+0

这只是一个实验:-) – csyouk

回答

-2

我不知道为什么会发生,但尝试返回整数

function get_argument($arg){ 
    return intval($arg); 
} 
+0

不是答案 - 请参阅'print'上的PHP参考文献 – 2014-01-08 13:17:59

6

因为当你写echo print get_argument(33);,它会执行打印第一,所以打印会写33

但是,打印将返回1,然后通过回显打印

+1

谢谢!我明白! – csyouk

1

这是因为您使用的是echo和print,所以只能同时打印一个。

<?php 
    function get_argument($arg){ 
    return $arg; 
    } 
    print get_argument(33); 
?> 
3

当键入

echo print get_argument(33); 

它首先打印的get_argument(33)为33的结果,然后相呼应的print get_argument(33)为真其结果是1。

1

在此命令回声打印get_argument (33):你是2输出第一个是: print get_argument(33)

第二个是echo;

echo将返回打印功能的结果; 1是打印功能的结果。