Главная » Статьи » Конкатенация строк в PHP

Конкатенация строк в PHP

Конкатенация строк в PHP

От автора: объединение строк — очень распространенная и полезная операция в PHP. Есть много способов, которыми вы можете соединить строки вместе, например, добавление или объединение их в какой-то другой точке. В этой краткой статье я научу вас конкатенации строк в PHP. Вы узнаете, как добавлять строки в PHP и как объединять строки в определенных местах.

Добавление строк в PHP

Объединение строк в PHP путем добавления на самом деле довольно просто. В PHP есть два строковых оператора, предназначенных для этой конкретной цели.

Вы можете использовать оператор конкатенации, “.” если хотите объединить строки и присвоить результат третьей переменной или вывести его.

Вы можете использовать оператор конкатенационного присваивания, “.=” если хотите объединить строки и присвоить результат той же переменной. Это более короткий способ добавления аргумента с правой стороны к аргументу с левой стороны.

Вот пример, который показывает, как добавлять строки в PHP:

<?php $names = ['Adam', 'Andrew', 'Monty']; foreach($names as $name) { $greeting = 'Hello '; $greeting .= $name; echo $greeting;
} /*
Hello Adam
Hello Andrew
Hello Monty
*/
?>

Вот пример, который добавляет различные строки к имени в PHP:

<?php $greetings = ['Hi', 'Hello', 'Hey']; foreach($greetings as $greeting) { $text = $greeting.' Monty!'; echo $text;
} /*
Hi Monty!
Hello Monty!
Hey Monty!
*/
?>

Объединение строк в определенной точке

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

Объединение строк по определенному индексу

Мы можем использовать в PHP функцию substr(), чтобы разделить основную строку на две части по желаемому индексу, а затем снова соединить части вместе с нашей строкой посередине.

<?php $main_strings = ['Do you apples?', 'Can we mangoes?']; $index = 7;
foreach($main_strings as $string) { $text = substr($string, 0, $index).'eat '.substr($string, $index); echo $text."\n";
} // Do you eat apples?
// Can we eat mangoes? ?>

В приведенном выше коде значение переменной $index — это просто позиция, в которой мы хотели бы объединить нашу подстроку внутри основной строки.

Объединение строк до или после определенного слова

Объединение строки до или после определенного слова работает так же, как объединение строк по определенному индексу. Единственный дополнительный шаг, который нам нужно сделать, — это вычислить индекс. Функция strpos($haystack, $needle) идеально подходит для этой цели. Она просто находит позицию нашей строки $needle внутри основного текстового блока или $haystack.

Вот пример объединения строк перед определенным словом.

<?php $main_strings = ['Do you like apples?', 'They told me that they like apples very much.']; foreach($main_strings as $string) { $index = strpos($string, 'apples'); $text = substr($string, 0, $index).'eating '.substr($string, $index); echo $text."\n";
} // Do you like eating apples?
// They told me that they like eating apples very much. ?>

Большая разница здесь в том, что мы переместили переменную $index внутрь цикла. Это связано с тем, что положение нашего слова, вероятно, будет отличаться в каждой строке, и нам нужно соответствующим образом скорректировать значение индекса.

Функция strpos() дает нам позицию первого символа подстроки внутри главной строки. Это упрощает нам объединение подстроки в начале определенного слова.

Добавляя подстроки в конце слов, мы также должны учитывать длину слов. Добавление длины слова к нашему начальному индексу дает нам правильную позицию для сцепления подстроки в конце определенного слова.

<?php $main_strings = ['Do you like New York?', 'They told me that they like New York very much.']; foreach($main_strings as $string) { $index = strpos($string, 'like') + strlen('like'); $text = substr($string, 0, $index).' visiting'.substr($string, $index); echo $text."\n";
} // Do you like visiting New York?
// They told me that they like visiting New York very much. ?>

Заключение

В этой краткой статье я рассмотрел различные сценарии объединения строк в PHP. Теперь вы должны уметь добавлять или присоединять строки в любом другом месте, которое вам нравится.

Ключом к объединению строк в определенном месте является индекс. Это именно то, что мы делали, когда хотели объединить строки до или после определенного слова – находили нужный нам индекс.

Автор: Monty Shokeen

Источник: //code.tutsplus.com

Редакция: Команда webformyself.