开发者社区 问答 正文

PHP 拼接字符串, 哪个更好?

PHP 拼接字符串,哪个更好呢?

// 1
$rule = [
    'pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er1&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1',
    'pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er2&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1',
    'pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er3&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1',
    'pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er4&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1',
    'pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er5&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1',
];

// 2
$rule = array_map(function($s) {
    return "pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er{$s}&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1";
}, range(1, 5));

// 3
$rule = [];

for ($i = 1; $i < 6; $i++) { 
    $rule[] = "pid=etfscreener&formsubmit=1&etfpage=1&cn=cnUS&cf=&go=&ta=&er=er{$i}&ry=&r1=&r3=&r5=&tac=1&erc=1&ryc=1&r5c=1";
}

展开
收起
落地花开啦 2016-06-13 17:40:23 2056 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    如果是重复的字符串,明显是 str_repeat() 更好。
    如果不重复那么明显是第一种更好,因为在编译期间就已经确定了。
    第二种是最慢的 函数式编程这一块在PHP这边还很弱 Python的写法不一定适用
    第三种属于中规中矩

    2019-07-17 19:36:37
    赞同 展开评论
问答分类:
问答标签:
问答地址: