Php implode и переменная

Рейтинг: 0Ответов: 1Опубликовано: 27.02.2015

Здравствуйте. Оказался в затруднительной ситуации и прошу помощи.

Есть строка, полученная через implode, выглядит она примерно так: $a+$b+$c

Мне надо получить строку такого вида: $abc = $a+$b+$c;

В итоге, если подставляю $abc = implode("+", $array); - ничего не работает. А если вставляю обычным текстом то же самое, то есть просто вручную делаю выражение $abc = $a+$b+$c; - всё работает.

Так почему же не срабатывает implode("+", $array), в чём ошибка - не могу понять.

Обновление

Да, строка. Когда строка "$a+$b+$c" подставляется через implode, то есть вот так - $abc = implode("+", $array) - скрипт её не воспринимает.

А если вставляю просто текстом, руками $abc = $a+$b+$c; - всё воспринимается.

В переменной $array массив переменных вида $a $b $c

Ответы

▲ 1

"Ничего не понимаю" @ Коллега

@veretv, Ваша последовательность $a+$b+$c, это строка?

'$a+$b+$c'

Функция implode() конвертирует массив в строку. К примеру:

$data = ['foo', 'bar', 'baz'];

var_dump(implode('+', $data)); // result: "foo+bar+baz"

Смотрите результат

Вам же, наверно, нужен merge (слияние). В php слиянием двух и более массивов занимается функция array_merge

$a = array('firstname' => 'Tom');
$b = array('lastname' => 'Sawyer');
$c = array('age' => 20);

var_dump(array_merge($a, $b, $c));

Смотрите результат

Существуют два варианта слияния: по ключу и по значению. array_merge - это слияние по значению. По ключу же:

$result = $a + $b + $c;

Смотрите отличия

P.S. [] - это короткая запись массива. Стала доступной с PHP 5.4.