我逐个字符地迭代,通过一个冗长的字符串,并对其子字符串进行特定的操作。
有一点我必须将较小的字符串与较大的字符串合并,在这里我不确定哪个更有效:
只需逐个字符地添加字符,如
for(some iteration){
large_string.=some_character;
}
或首先将这些单个字符添加到较小的临时字符串中,然后将其与单个操作连接
for(some iteration){
temporary_string.=some_character;
}
large_string.=temporary_string;
答案 0 :(得分:1)
两种方法都需要相同的时间来创建新字符串。没有时间差异。
答案 1 :(得分:1)
两次迭代都是相同的,因此需要相同的时间和相同数量的资源。
但是如果您的输入数组具有以下结构:
$array = array('a', 'b', 'c', 'd');
您不应该使用自己的迭代和字符串连接,而是以这种方式使用implode
:
$large_string .= implode('', $array);
这个更快。即使输入数组不是那种结构,也应该更快地使用这个片段(没有测试它):
$tmp = array();
foreach($somethings as $something) { // <-- foreach loop is quicker then for loop
$tmp[] = $something['my_char'];
}
$large_string .= implode('', $tmp);
使用 PHP原生函数总是更好更快,然后自己实现相同的逻辑......至少因为你通常需要输入更少的。