php соединить строку и переменную
Как объединить две строки вместе в PHP?
На самом деле я не знаю, как описать то, что я хотел, но я покажу вам:
Решение
Это называется конкатенацией строк. В вашем примере не хватает места, поэтому для этого вам понадобится:
Другие решения
Есть несколько способов объединить две строки вместе.
Сложный (фигурный) синтаксис / двойные кавычки
В PHP переменные, содержащиеся в двойных кавычках, интерполируются (т. Е. Их значения «заменяются» для переменной). Это означает, что вы можете поместить переменные вместо строк и просто поставить пробел между ними. Фигурные скобки дают понять, где переменные.
Примечание: это также будет работать без скобок в вашем случае:
использование sprintf() или же printf()
sprintf() позволяет нам форматировать строки, используя мощные параметры форматирования. Это слишком много для такой простой конкатенации, но это удобно, когда у вас сложная строка и / или вы хотите выполнить некоторое форматирование данных.
printf() делает то же самое, но сразу отображает вывод.
Heredoc
Heredocs также может использоваться для объединения переменных в строку.
Это работает только при выводе содержимого, а не при присвоении переменной. Но вы можете использовать запятую, чтобы отделить список выражений для PHP, и использовать строку с одним пробелом в качестве одного из этих выражений:
Никто не упомянул об этом, но есть другая возможность. Я использую его для огромных запросов SQL. Вы можете использовать. = Оператор 🙂
Или используйте строковую интерполяцию:
является более общим.
Другая доступная форма это:
Вы можете попробовать следующую строку кода
Как объединить две строки вместе в PHP?
Я вообще-то не знаю, как описать то, что хотел, но покажу вам:
Это называется конкатенацией строк. Однако в вашем примере не хватает места, поэтому для этого вам понадобится:
Есть несколько способов связать две строки вместе.
Сложный (фигурный) синтаксис / строки в двойных кавычках
В PHP переменные, содержащиеся в строках, заключенных в двойные кавычки, интерполируются (т.е. их значения «заменяются» на переменную). Это означает, что вы можете поместить переменные вместо строк и просто поставить между ними пробел. Фигурные скобки показывают, где находятся переменные.
Примечание: в вашем случае это также будет работать без фигурных скобок:
Вы также можете объединить значения массива внутри строки:
Используйте sprintf() или printf()
sprintf() позволяет нам форматировать строки, используя мощные параметры форматирования. Это излишне для такой простой конкатенации, но это удобно, когда у вас есть сложная строка и / или вы также хотите выполнить некоторое форматирование данных.
printf() делает то же самое, но сразу отображает результат.
Heredoc
Heredocs также можно использовать для объединения переменных в строку.
Это работает только при выводе содержимого, а не при назначении переменной. Но вы можете использовать запятую, чтобы разделить список выражений для вывода PHP, и использовать строку с одним пробелом в качестве одного из этих выражений:
PHP-конкатенация или прямая вставка переменных в строку
мне интересно, Как правильно вставлять переменные PHP в строку?
таким образом:
или так:
11 ответов:
между этими двумя синтаксисами, вы действительно должны выбрать тот, который вы предпочитаете 🙂
лично я бы пошел с вашим вторым решением в таком случае (переменной интерполяции), который я нахожу легче как писать, так и читать.
В качестве побочного Примечания, поэтому мой ответ немного более полный: день, когда вы захотите сделать что-то вроде этого:
в этот день, вам нужно использовать <> :
нет необходимости использовать конкатенации.
Также обратите внимание, что ваш первый синтаксис:
может быть оптимизация, избегая конкатенации, используя:
(но, как я уже сказал раньше это не имело большого значения. )
строки в двойных кавычках более элегантны, потому что вам не нужно разбивать строку каждый раз, когда вам нужно вставить переменную (например, вы должны делать с строками в одинарных кавычках).
однако, если вам нужно вставить возвращаемое значение функции, это не может быть вставлено в строку с двойными кавычками-даже если вы окружаете ее фигурными скобками!
любой из них в порядке. Используйте тот, который имеет лучшую видимость для вас. И говоря о видимости вы также можете проверить printf.
С точки зрения создания мыслит простой,читабельный,последовательный и легко понять (поскольку производительность здесь не имеет значения):
использование встроенных vars в двойных кавычках может привести к сложным и запутанным ситуациям, когда вы хотите внедрить свойства объекта, многомерные массивы и т. д. То есть, как правило, при чтении встроенных vars вы не можете быть мгновенно на 100% уверены в финале поведение того, что Вы читаете.
AFAIK, вы не можете вставлять константы.
В некоторых конкретные случаи, «двойные кавычки с вложением vars» могут быть полезны, но, вообще говоря, я бы пошел на объединение (используя одинарные или двойные кавычки, когда удобно)
Я знаю, что этот вопрос уже выбрали ответ, но я нашел в этой статье это, очевидно, показывает, что строковая интерполяция работает быстрее, чем конкатенация. Это может быть полезно для тех, кто все еще сомневается.
начиная с php4 вы можете использовать строковый форматер:
пойти с первым и использовать одинарные кавычки!
вы также должны проверить PHP переменная конкатенация, phpbench.com для некоторых тестов по различным методам выполнения вещей.
Это только дело вкуса.
Используйте все, что пожелаете.
большую часть времени я использую второй, но это зависит.
позвольте мне предложить вам также получить себе хороший редактор, который будет выделять переменную внутри строки
не сцепить. Это не нужно, запятые США, как эхо может принимать несколько параметров
Что касается использования одинарных или двойных кавычек разница незначительна, вы можете сделать тесты с большим количеством строк, чтобы проверить для себя.
вы должны выбрать первый. Они не имеют никакой разницы, кроме производительности первый будет быстрым в сравнении второго.
Если переменная внутри двойной кавычки PHP занимает время для разбора переменной.
Я не понимаю, почему этот ответ в ссылке выше получить upvoted и почему этот ответ получил downvote.
Как я уже сказал то же самое.
вы можете посмотреть здесь также
я знаю, что это старый вопрос, но я думаю, что кто-то должен упомянуть все плюсы и минусы:
Лучше Синтаксис: это личные предпочтения.
производительность: никакой разницы. Как уже упоминалось, двойная кавычка может быть быстрее, если использовать нереалистично много переменных.
читабельности: нет разницы (могут применяться личные предпочтения).
Права На Запись/Восстановление Права На Запись/Отладки: в 1-строчных операторах нет никакой разницы, но при работе с несколькими строками легче комментировать/раскомментировать строки во время отладки или записи. Для пример:
Меньше Изменений: одинарная кавычка. Например, если у вас есть следующий код:
но для двойной кавычки, вам нужно будет изменить это:
вывод:использовать то, что вы предпочитаете.
Конкатенация строк в PHP
Дата публикации: 2021-03-23
От автора: объединение строк — очень распространенная и полезная операция в PHP. Есть много способов, которыми вы можете соединить строки вместе, например, добавление или объединение их в какой-то другой точке. В этой краткой статье я научу вас конкатенации строк в PHP. Вы узнаете, как добавлять строки в PHP и как объединять строки в определенных местах.
Добавление строк в PHP
Объединение строк в PHP путем добавления на самом деле довольно просто. В PHP есть два строковых оператора, предназначенных для этой конкретной цели.
Вы можете использовать оператор конкатенации, “.” если хотите объединить строки и присвоить результат третьей переменной или вывести его.
Вы можете использовать оператор конкатенационного присваивания, “.=” если хотите объединить строки и присвоить результат той же переменной. Это более короткий способ добавления аргумента с правой стороны к аргументу с левой стороны.
Вот пример, который показывает, как добавлять строки в PHP:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Разбиение и объединение строк в PHP
Для разбиения строки на элементы используется функция explode(), которая принимает два параметра: строку, которую необходимо разбить и разделитель. Рассмотрим функцию explode() сразу на примере:
В данном примере, мы создаём массив, элементами которого становятся «Lexus«, «Smirnov«, «40«. То есть мы, учитывая разделитель «/«, разбили эту строку на несколько и записали их в массив. Существует так же и операция разбиение строки на элементы и мгновенная запись их в переменные:
То есть в данном примере, мы создали три переменные, в каждую из которых записали соответствующее значение.
Теперь о применении данной функции. В своё время я реализовывал задачу поиска по сайту. И мне нужно было сформировать из GET-запроса, полученного из формы, запрос к базе данных, чтобы извлечь оттуда подходящие записи. Проблема была в том, что ведь могут искать несколько слов сразу, например, «создать сайт быстро«. И нужно вывести все материалы со словами «создать«, либо «сайт«, либо «быстро«. И мне приходилось использовать функцию explode(), а в качестве разделителя брался пробел. А уже затем я формировал запрос к базе данных (разумеется, с количеством OR зависящем от количества слов, либо AND, если пользователь потребовал вхождение всех слов) и извлекал подходящие записи из таблицы базы данных. Вообще, задача была на порядок тяжелее, но тут я привёл Вам её кусок, чтобы Вы поняли, что бывают ситуации, когда без этой функции очень трудно работать.
Для объединения строк в PHP имеется функция implode(), которая принимает тоже два параметра: разделитель и массив:
В результате получится строка: «15.10.1985«. Думаю, что здесь всё прозрачно.
Вот и всё, что касается разбиения и объединения строк в PHP.
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 19 ):
в функции explode(‘http://myrusakov.ru/’, «Lexus/Smirnov/40»); вместо знака / отображет ссылку на твой сайт.
Спасибо большое! Уже подправил.
Надо проверять не количество, а сами элементы. А слеш действительно добавит новый элемент, который будет пустой строкой.
Я правильно понимаю, что нужно в цикле for перебирать все элементы и функцией isset проверять их наличие? А как же мне проверить их общее количество? Соответствие количества главнее.
Не isset(), а просто значение. И да, через цикл.
Михаил, добрый день! Я правильно вас понял if ($hum1[$i]== 0)?
Михаил, спасибо! Все получилось! Подскажите, каким образом можно передать информацию из php в html? Читать ваши уроки по порядку не получается (много забывается сразу), поэтому изучаю php по мере решения задач. Спасибо!
Ну так я и выполняю упражнения, только свои. У вас на сайте, к сожалению, не нашел упражнений. Или я чего то не увидел?
На сайте упражнений нет, они есть в этом курсе: http://srs.myrusakov.ru/kurs
А мне кажется это хорошая идея сделать на сайте тесты для новичков примерно такие же как в курсе. почему вы не отреогировали?
Михаил, добрый день! Я немного неправильно сформулировал свой вопрос. Есть форма, которая передает данные в php. Там данные обрабатываются и выводятся на форму html. Мне нужно совместить две формы html в одну. Т.е. сверху ввожу, нажимаю «рассчитать» и снизу получаю ответ. Как передать информацию из php в ту же форму, из которой взяты первичные данные.
Раз хотите чтобы Вам именно в html выводилось, можете использовать javascript http://myrusakov.ru/javascript-post.html
А какие еще есть варианты? У меня блог на WP. Есть страничка, в которой поля для ввода данных. Есть возможность для вывода прямо на страницу?
Вы и html всё хотите оставить, и с javascript не хотите связываться? Ну уж извитите, таких простых решений не бывает.
Михаил, при чем тут «не хотите связываться»? Я просто узнаю у вас все возможные варианты. Вы специалист, я новичок. Мне кажется это нормально, когда человек интересуется всеми возможными вариантами! И никто не ждет готовых решений! Если не хотите отвечать, так не отвечайте. А уж если, сделали возможность задавать вопросы, то тогда отвечайте без сарказма. Это же диалог! Зачем же показывать свое превосходство?!