Добавить до и после строки - PullRequest
       17

Добавить до и после строки

0 голосов
/ 14 сентября 2010
$variable = 'for linebreak add 2 spaces at end';

Значение этой переменной каждый раз изменяется.

Как добавить текст или HTML до и после этой строки?


Например, если мыхотите добавить '<div>' до и '</div>' после, строка должна выглядеть следующим образом:

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

Ответы [ 4 ]

13 голосов
/ 14 сентября 2010
$wrapped_variable = '<div>' . $variable . '</div>';
4 голосов
/ 14 сентября 2010

Решение Марко - это путь для простых случаев. Если вам нужно объединить много строк, говорят, что объединение массивов происходит намного быстрее.

$string[]='<div>';
$string[]= $variable;
$string[]='</div>';
$string = join('',$string);
2 голосов
/ 19 сентября 2010

Я не уверен, что понимаю, чего вы хотите.Это так?

<?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>
?>

Если это не так, скажите, и я попытаюсь снова при следующем посещении этой страницы.

1 голос
/ 04 декабря 2017

Что быстрее?

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 без сброса в PHP 7.0.22.

  • Для использования памяти , " самый экономичный " (14,47 МиБ)можно использовать объединить массив без сброса в PHP 7.0.14.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...