在字符串之前和之后添加

时间:2010-09-13 21:37:42

标签: php string replace concatenation

$variable = 'for linebreak add 2 spaces at end';

每次更改时此变量的值。

如何在此字符串之前和之后添加一些文字或html?


E.g。如果我们想在之前添加'<div>'之后再添加'</div>',则字符串应如下所示:

$variable = '<div>for linebreak add 2 spaces at end</div>';

4 个答案:

答案 0 :(得分:13)

$wrapped_variable = '<div>' . $variable . '</div>';

答案 1 :(得分:4)

Marko的解决方案是采用简单案例的方法。如果你需要连接许多字符串,可以说连接数组要快得多。

$string[]='<div>';
$string[]= $variable;
$string[]='</div>';
$string = join('',$string);

答案 2 :(得分:2)

我不确定我明白你想要什么。这是吗?

<?php
function add_div($string){return '<div>'.$string.'</div>';}
$variable = 'for linebreak add 2 spaces at end'; 
echo add_div($variable); // <div>for linebreak add 2 spaces at end</div>
?>

如果不是,请说明,下次访问此页面时我会再试一次。

答案 3 :(得分:1)

更快的方法是什么?

1。加入数组?

  

1.1连接数组(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string[]='lorem_';
    $string[]= $i;
    $string[]='_ipsum';
    $string = join('',$string);
    var_dump($string);
    unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.016     |     0.061    |    20.60     |
|   7.0   |      0.009     |     0.010    |    16.69     |
|   7.1   |      0.011     |     0.011    |    24.18     |
|   7.2   |      0.003     |     0.017    |    19.41     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/8YK1H/perf#output

           

1.2连接数组(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string = [];
    $string[]='lorem_';
    $string[]= $i;
    $string[]='_ipsum';
    $string = join('',$string);
    var_dump($string);
    // unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.017     |     0.068    |    20.58     |
|   7.0   |      0.012     |     0.013    |    16.13     |
|   7.1   |      0.021     |     0.012    |    23.23     |
|   7.2   |      0.013     |     0.010    |    17.65     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/kU4QG/perf#output

2。速记算子?

  

2.1速记运算符(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string = 'lorem_';
    $string .= $i;
    $string .= '_ipsum';
    // $string = join('',$string);
    var_dump($string);
    unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.012     |     0.059    |    20.60     |
|   7.0   |      0.008     |     0.011    |    16.65     |
|   7.1   |      0.014     |     0.012    |    24.22     |
|   7.2   |      0.012     |     0.009    |    19.08     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/cCoSC/perf#output

           

2.2速记运算符(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string = 'lorem_';
    $string .= $i;
    $string .= '_ipsum';
    // $string = join('',$string);
    var_dump($string);
    // unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.011     |     0.059    |    20.60     |
|   7.0   |      0.008     |     0.011    |    16.70     |
|   7.1   |      0.014     |     0.011    |    24.22     |
|   7.2   |      0.010     |     0.010    |    19.33     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/iKnaV/perf#output

3。一行连续?

  

3.1一行连接(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string = 'lorem_' . $i . '_ipsum';
    // $string .= $i;
    // $string .= '_ipsum';
    // $string = join('',$string);
    var_dump($string);
    unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.015     |     0.066    |    20.60     |
|   7.0   |      0.008     |     0.012    |    16.68     |
|   7.1   |      0.014     |     0.014    |    24.23     |
|   7.2   |      0.010     |     0.014    |    19.45     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/tv4X0/perf#output

           

3.2一行连接(未设置)

     

以下代码:

for($i=1;$i<1000;$i++){
    $string = 'lorem_' . $i . '_ipsum';
    // $string .= $i;
    // $string .= '_ipsum';
    // $string = join('',$string);
    var_dump($string);
    // unset($string);
}
     

产生这种平均表现:

.---------.----------------.--------------.--------------.
| Version | System time(s) | User time(s) | Memory (MiB) |
|---------|----------------|--------------|--------------|
|   5.6   |      0.012     |     0.056    |    20.65     |
|   7.0   |      0.008     |     0.008    |    16.69     |
|   7.1   |      0.014     |     0.010    |    24.17     |
|   7.2   |      0.007     |     0.011    |    19.39     |
'---------'----------------'--------------'--------------'
     

来源:https://3v4l.org/mF0YW/perf#output

如果按PHP版本合并所有结果:

PHP 5.6

.-------------.----------------.--------------.--------------.
|     Code    | System time(s) | User time(s) | Memory (MiB) |
|-------------|----------------|--------------|--------------|
|         1.1 |      0.016     |     0.061    |    20.60     |
|         1.2 |      0.017     |     0.068    | >> 20.58     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 1 |      0.0165    |     0.0645   | >> 20.59     |
|-------------|----------------|--------------|--------------|
|         2.1 |      0.012     |     0.059    |    20.60     |
|         2.2 |   >> 0.011     |     0.059    |    20.60     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 2 |   >> 0.0115    |  >> 0.059    |    20.60     |
|-------------|----------------|--------------|--------------|
|         3.1 |      0.015     |     0.066    |    20.60     |
|         3.2 |      0.012     |  >> 0.056    |    20.65     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 3 |      0.0135    |     0.061    |    20.625    |
'-------------'----------------'--------------'--------------'

PHP 7.0

.-------------.----------------.--------------.--------------.
|     Code    | System time(s) | User time(s) | Memory (MiB) |
|-------------|----------------|--------------|--------------|
|         1.1 |      0.009     |     0.010    |    16.69     |
|         1.2 |      0.012     |     0.013    | >> 16.13     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 1 |      0.0105    |     0.0115   | >> 16.41     |
|-------------|----------------|--------------|--------------|
|         2.1 |   >> 0.008     |     0.011    |    16.65     |
|         2.2 |   >> 0.008     |     0.011    |    16.70     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 2 |   >> 0.008     |     0.011    |    16.675    |     
|-------------|----------------|--------------|--------------|
|         3.1 |   >> 0.008     |     0.012    |    16.68     |
|         3.2 |   >> 0.008     |  >> 0.008    |    16.69     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 3 |   >> 0.008     |  >> 0.010    |    16.685    |
'-------------'----------------'--------------'--------------'

PHP 7.1

.-------------.----------------.--------------.--------------.
|     Code    | System time(s) | User time(s) | Memory (MiB) |
|-------------|----------------|--------------|--------------|
|         1.1 |   >> 0.011     |     0.011    |    24.18     |
|         1.2 |      0.021     |     0.012    | >> 23.23     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 1 |      0.016     |  >> 0.0115   | >> 23.705    |
|-------------|----------------|--------------|--------------|
|         2.1 |      0.014     |     0.012    |    24.22     |
|         2.2 |      0.014     |     0.011    |    24.22     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 2 |   >> 0.014     |  >> 0.0115   |    24.22     |
|-------------|----------------|--------------|--------------|
|         3.1 |      0.014     |     0.014    |    24.23     |
|         3.2 |      0.014     |  >> 0.010    |    24.17     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 3 |   >> 0.014     |     0.012    |    24.20     |
'-------------'----------------'--------------'--------------'

PHP 7.2

.-------------.----------------.--------------.--------------.
|     Code    | System time(s) | User time(s) | Memory (MiB) |
|-------------|----------------|--------------|--------------|
|         1.1 |   >> 0.003     |     0.017    |    19.41     |
|         1.2 |      0.013     |     0.010    | >> 17.65     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 1 |   >> 0.008     |     0.0135   | >> 18.53     |
|-------------|----------------|--------------|--------------|
|         2.1 |      0.012     |  >> 0.009    |    19.08     |
|         2.2 |      0.010     |     0.010    |    19.33     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 2 |      0.011     |  >> 0.0905   |    19.205    |
|-------------|----------------|--------------|--------------|
|         3.1 |      0.010     |     0.014    |    19.45     |
|         3.2 |      0.007     |     0.011    |    19.39     |
|             |-- -- -- -- -- -|-- -- -- -- --|-- -- -- -- --|
| (average) 3 |      0.0085    |     0.0125   |    19.42     |
'-------------'----------------'--------------'--------------'

结论

  • 对于系统时间更快方式(0.003秒)是在PHP 7.2.0中使用连接数组(未设置)

  • 对于用户时间更快方式(0.003秒)是使用 oneline concatenation而不在PHP 7.0.22中取消设置

  • 对于内存使用情况,“最经济”(14.47 MiB)方式是使用加入数组而不在PHP 7.0.14中取消设置