PHP初学留神(四)

这周去听了Google的演讲,从Idea到Code的商业宣传。不过因为是头一次听英文演讲,心里还是很舒服。这周主要做的是Bootstrap前端美化,这个框架也比较好玩。在php上面花的时间相对少了,也就自己找找乐子吧。

1.php的输出\n被吞掉

很基础的东西,属于概念混淆了。\n是转义字符,但作用的地方是在字符串;而在网页(htmltext)中换行要用标签<br>。

2.php的输出函数

echo:首先,echo不是一个函数,而是一个语言结构。那语言结构是什么呢?语言结构就是php语法的一部分,不能被用户定义。而且相比函数,在执行时会更快,因为在php里,函数都要仙贝php解析器分解成语言结构,所以函数比语言结构多执行一层解析器解析。正因为是语言结构所以在使用时,其参数的括号可以不写。其也没有返回值。

print:和echo一样,也是语言结构,不同的是返回值为1。这里还有一个与print有关奇怪的例子。

 if(print("我想输出") && print("我也想输出")){
//猜猜输出结果是什么?
}

按照&&的判断过程,应该两句话都要输出。但运行结果是只有“我也想输出1”。其原因在符号匹配的问题的匹配问题,第一个print是直到第二句话说完结束。所以想两句都输出应该这样。

 if((print("我想输出")) && (print("我也想输出"))){
//猜猜输出结果是什么?
}

printf:格式化输出,这就是个函数。学习c的时候就很熟悉了,脑海一下子就出现了%d,%f...其返回值是输出字符串的长度。

springf:和printf类似,不过返回的是字符串。比如这样。

 $str = "Hello";
$num = 13;
$txt = sprintf("%s world. The number is %u",$str,$num);
echo $txt;

输出的就是“Hello world. The number is 13”。

fpinrtf:将格式化后的字符串写入到流(stream)中。流的机制就是将内容按特定的编码传输。返回的是字符串的长度。

vprintf:那是输出格式化的字符串,不过第二个参数的是一个数组,而不是可变数量的参数。返回的也是字符串的长度。

vsprintf:就是spirngf+vprintf。

上一篇:常用正则表达式,你要的都在这里(校验字符,数字,特殊需求qq,电话等)


下一篇:iis下设置php最大执行时间