场景就是SQL的拼接,页面JS变量的拼接. 拼接有两种方式, 一种是拼字符串, 也是大部分人常用的方式. 还有一种就是我要推荐的, 数组的方式.
直接上代码吧, 这是字符串方式的:
$arr = array('a' => 1, 'b' => 2, 'c' => 3); $tmp = ''; foreach ($arr as $k => $v){ $tmp .= "$k=>'$v',"; } $tmp = substr($tmp, 0, -1);
这是数组方式的:
$arr = array('a' => 1, 'b' => 2, 'c' => 3); $tmp = array(); foreach ($arr as $k => $v) { $tmp[] = "{$k}=>'{$v}'"; } $tmp = implode(',', $tmp);
开始,我还认为用数组的方式应该会明显慢于字符串方式呢.在写这篇文章的时候,我做了一些实验, 两种方式的效率不相上下. 而在内存占用方面,数组的略高几十字节.
上边的例子有点特殊, 所以,看起来感觉字符串拼接跟数组拼接差不多复杂的样子, 而很多时候是只需要一个implode就搞定了的~ Ps: 其实,array_walk array_map是好方法~ 在拼接SQL的时候很给力.