Как отобразить строку из вызова функции внутри конкатенации?

Мне нужно соединить / объединить строки из возврата вызова функции и из переменной без использования традиционной конкатенации ..

В этом случае он должен отображать строку URL-адреса.

Ниже мой фактический код.

КОД:

$test = "{ config('app.url') }/{ $username }";
die(print_r($test));

Текущий результат:

{ config('app.url') }/testuser

Ожидаемый результат:

http://localhost:8000/testuser

Почему вы отказываетесь от конкатенации?

mickmackusa 16.01.2019 06:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
53
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете узнать больше о сложном (фигурном) синтаксисе в строке в кавычках, однако вы можете добиться желаемого с помощью этого кода:

$test = "{${config('app.url')}}/{$username}";
die(print_r($test));

Но лично я предпочитаю:

$appUrl = config('app.url');
$test = "{$appUrl}/{$username}";
die(print_r($test));

Это работает для вас?

@mickmackusa, приятно это знать, но я был первым, кто ответил.

MyLibary 16.01.2019 06:58

Большое спасибо за помощь. Но первый фрагмент кода в вашем комментарии тоже не работает. Я использовал тот, который вам больше нравится.

Z Mars 16.01.2019 08:56

Это невозможно. Вы можете анализировать переменные только внутри строки. Единственный способ - присвоить результат функции переменной:

$url = config('app.url');
$test = "{$url}/{$username}";

Вы можете узнать больше о Разбор переменных в строках

Вы можете попробовать следующий путь

<?php

$_ = function ( $v ) { return $v; };

function config($url)
{
    return $url;
}

$username = 'u_name';
echo "{$_( config('app.url') )}/{$username}";

Другие вопросы по теме