面试题:
1、Print、echo、print_r有什么区别?
(1) echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
(2) print 是打印字符串
(3)print_r 则是打印复合类型 如数组 对象
例1 字符串输出
<?php
header("content-type:text/html;charset=utf-8");
$str="南有樛木,葛藟累之,乐只君子,福履绥之,
南有樛木,葛藟荒之,乐只君子,福履将之,
南有樛木,葛藟萦之,乐只君子,福履成之,";
echo $str;//输出一个或多个字符串
echo "<hr/>";
echo "周行知是一名php程序员";
echo "<hr/>";
print_r($str);//输出字符串,不能输出多个字符串。
echo "<hr/>";
$num="152";
print_r($num);
echo "<hr/>";
print($str);//输出字符串,不能输出多个字符串。
?>
例2 字符串的截取
<?php
header("content-type:text/html;charset=utf-8");
$str="www.baidu.com";
echo"<hr/>";
//截取字符串
echo substr($str,4);
echo"<hr/>";
//反向截取
echo substr($str,-3);
?>
例3
<?php
header("content-type:text/html;charset=utf-8");
$str="www.baidu.com";
echo"<hr/>";
//截取字符串
echo substr($str,4);
echo"<hr/>";
//反向截取
echo substr($str,-3);
echo"<hr/>";
//反向截取
echo substr($str,-3,2);
?>
如图所示:
例 从字符串前后查找字符串的位置
<?php
header("content-type:text/html;charset=utf-8");
$str="周行知www.baidu.com周行知";
$str1=stristr($str,"周行知");
echo"<hr/>";
var_dump($str1);
//后面查找”周行知"这个字符串
$str2=strrchr($str,"周行知");
echo"<hr/>";
var_dump($str2)
?>
例1 strpos() stripos() 查找一个字符串在另一个字符串中第一个出现的位置
<?php
header("content-type:text/html;charset=utf-8");
$str="周行知www.baidu.com周行知";
$str1=stristr($str,"周行知");
echo"<hr/>";
var_dump($str1);
//后面查找”周行知"这个字符串
$str2=strrchr($str,"周行知");
echo"<hr/>";
var_dump($str2);
$str3=strpos($str,"w");
echo $str3;
?>
例2 strrpos() 查找一个字符串在另一个字符串中(后面)第一个出现的位置
<?php
header("content-type:text/html;charset=utf-8");
$str="周行知www.baidu.com周行知";
$str1=stristr($str,"周行知");
echo"<hr/>";
var_dump($str1);
//后面查找”周行知"这个字符串
$str2=strrchr($str,"周行知");
echo"<hr/>";
var_dump($str2);
$str3=strrpos($str,"w");
echo $str3;
?>
例3 字符串的拆分strtok
<?php
header("content-type:text/html;charset=utf-8");
$str="周行知www.baidu.com周行知";
$str1=stristr($str,"周行知");
echo"<hr/>";
var_dump($str1);
//后面查找”周行知"这个字符串
$str2=strrchr($str,"周行知");
echo"<hr/>";
var_dump($str2);
$str3=strrpos($str,"w");
echo $str3;
echo"<hr/>";
$str5="mysql,css,php,js";
$str4=strtok($str5,",");
while($str4){
echo $str4;
echo "<br/>";
$str4=strtok(",");}
?>
例5 字符串的拆分 strtok
<?php
header("content-type:text/html;charset=utf-8");
$str="周行知www.baidu.com周行知";
$str1=stristr($str,"周行知");
echo"<hr/>";
var_dump($str1);
//后面查找”周行知"这个字符串
$str2=strrchr($str,"周行知");
echo"<hr/>";
var_dump($str2);
$str3=strrpos($str,"w");
echo $str3;
echo"<hr/>";
$str5="mysql课程,css,php,js,0,权谋";
$str4=strtok($str5,",");
while($str4!==false){
echo $str4;
echo "<br/>";
$str4=strtok(",");}
?>
例6 字符串的截取 parse_str
<?php
header("content-type:text/html;charset=utf-8");
$str="http://www.w3school.com.cn/tiy/t.asp?username=周行知&age=29&sex=boy";
$str1=substr($str,(strpos($str,'?')+1));
echo"<hr/>";
echo $str1;
echo"<hr/>";
parse_str($str1);
echo"面试官好!我叫".$username."我的年龄:{$age},我的性别:{$sex}";
?>
输出结果如图所示: