подкажите по kohana

M8
На сайте с 02.07.2009
Offline
61
735

В php есть оператор присвоения .= .

в кохане .= не работает. Как можно сделать присвоения в кохане?

CP
На сайте с 12.08.2009
Offline
101
#1

Не может такого быть, кохана не отвечает за операторы php)

Профессиональный frontend: JS, html,css, Single-Page App (/ru/forum/964386)
siv1987
На сайте с 02.04.2009
Offline
427
#2
magnat_8:
в кохане .= не работает.

Здесь точно не кохана виновата. Посмотрите еще раз на свой код, что вы там присваиваете и кому.

doctorpc
На сайте с 12.07.2009
Offline
112
#3

наверное несколько строк пытаетесь соединить и в правой части еще раз используется конкантенация строк?

Покажите весь участок кода.

Кохана 100% не при чем.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#4
doctorpc:
наверное несколько строк пытаетесь соединить и в правой части еще раз используется конкантенация строк?
Покажите весь участок кода.
Кохана 100% не при чем.

Вы про


$str .= 'str1' .'str2' .$var;

???

Такое работает;)

Подпись))
M8
На сайте с 02.07.2009
Offline
61
#5

нашел причину.

надо было сначала создать переменную ($a="";) а потом только передавать в нее,

а я сразу передавал в $a.="gggg";

siv1987
На сайте с 02.04.2009
Offline
427
#6
magnat_8:
надо было сначала создать переменную ($a="" а потом только передавать в нее,
а я сразу передавал в $a.="gggg";

По моему присвоение с конкатенацией можно делать и к не объявленной переменной (хотя конечно и не рекомендуется).

doctorpc
На сайте с 12.07.2009
Offline
112
#7
Милованов Ю.С:
Вы про

$str .= 'str1' .'str2' .$var;

???
Такое работает;)

Помнил просто, что была проблема в свое время, уже и сам забыл в чем.

Сейчас нашел.

В свое время не понимал, почему выводит 'hello1' после


<?php
$a = 'hello';
$a.= 'world'.(true) ? '1' : '2';
echo $a;
?>

даже если true заменить на false, результат тот же.

но у ТС другая проблема.

P.S. Даже первая строчка не обязательна.

Результат равен 1 для кода ниже

$a = 'world'.(false) ? '1' : '2';
echo $a;

А дело было в том, что в условном операторе на истину проверяется не (false) а 'world'.(false). Первая конкантенация происходит раньше, чем сравнение.

Решение для этого примера - весь условный оператор брать в скобки.

O
На сайте с 29.05.2008
Offline
195
#8

У ТС скорее всего переменная задавалась в цикле, а использовать он ее пробовал вне, предварительно не объявив ее там.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий