Сокращение PHP для предварительной конкатенации? - PullRequest
6 голосов
/ 18 сентября 2010

Я программировал на PHP годами, и мне всегда было интересно, есть ли способ «предварительно объединить» строку.Пример:

$path = '/lib/modules/something.php';
$server = $_SERVER['DOCUMENT_ROOT'];

Я делал это годами, чтобы добавить значение в начало строки:

$path = $server . $path;
// returns: /home/somesite.com/public_html/lib/modules/something.php

Есть ли сокращение для этого?Просто любопытно.

Ответы [ 4 ]

4 голосов
/ 18 сентября 2010

Не очень серьезный ответ (я знаю, что он длиннее):

$path = strrev($path);
$path .= strrev($_SERVER['DOCUMENT_ROOT']);
$path = strrev($path);

Нет предела творчеству!;)

3 голосов
/ 18 сентября 2010

сокращение для конкатенации: интерполяция :

  $path = "{$_SERVER['DOCUMENT_ROOT']}/lib/modules/something.php";
2 голосов
/ 18 сентября 2010

Нет, но вы можете написать свою собственную функцию:

function pc(&$a, &$b) {
    $a = $b . $a;
}
pc($path, $server);

Приведенный выше вызов pc установит $path в $server . $path.

0 голосов
/ 18 сентября 2010

опробуйте функцию sprintf, как она работала для меня - информация об этом здесь: http://docs.php.net/sprintf

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