我们摘取一个小的需求,说一说如何连接两个字符串。
学习韶光原始字符串是这样的:
$data1 = "the color is";$data2 = "red";
想要得到下面的结果:
$result = "the color is red";
最大略的办法便是利用 PHP 标准的 点 连接符,像下面这样连接两个变量:
$result = $data1 . $data2;
把稳到输出记过中间少一个空格,那么就用多个 点 操作符连接起来:
$result = $data1 . ' ' . $data2;
就这么大略,齐活!
够了吗?远远不足。示例永久是最大略的用法,现实会教会我们如何编写健壮的代码。敲黑板,下面的知识,你全部用的上!
不要打瞌睡儿。
既然点操作符是连接字符串的,我们简写起来,少用一些七绕八绕的中间变量,这么写:
$data1 = "the color is ";$data1 .= "red"
当然了,如果不想利用点操作符连接字符串,嫌他太麻烦,影响程序的连贯性,可读性也不强,我们可以利用下面的办法:
$result = "{$data1} {$data2}";
双引号内的变量,直接解析,拼装为得当的格式就行,完备引用。是不是可读性好了许多?或者你不想利用大括号,明确指定变量名,不加也可以,但是不担保不会涌现解析缺点:
$result = "$data1 $data2";
这个写法在本节的例子上,也可行得通。
深入思考我们换个角度想问题,既然是字符串拼接,那么也便是说是字符串的格式化。如果直策应用格式化函数,岂不是更加安全。
事实上,我们处理字符串格式化,大多时候也是这样用的,利用位置参数,指定格式的办法,使程序拥有了更强大的功能,比如订单号的拼接,一些序号的前导加零,后导加零,等等等等。
从C措辞,我们就已经拥有了强大的 printf 和 sprintf 函数。PHP里我们也有。代码如下:
$result = sprintf("%s %s", $data1, $data2);
格式化字符串,位置参数绑定,这样的用法健壮而不易出错。
小技巧PHP内有两个小技巧,在手动造轮子的年代,你一定不少用,那便是文本原样输出所利用的 <<< 操作符。我们试着完成上面的需求:
$result= <<<EOT$data1 $data2EOT;
EOT只是一个标识符,指定字符开始的位置,和结束的位置。
还有一个每天用的 echo,你可能不常用到,它可以不定参数传出,并组合输出:
echo $data1, ' ', $data2;
利用逗号分隔符,传入多个参数就行了。
写在末了本文通过一个极大略的功能示例,连接两个字符串变量,利用了多个方法,从中你可以看到PHP灵巧的语法,以及办理问题的办法。经由比较,我们还是推举利用 sprintf 函数进行数据的格式化。
Happy coding :-)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。