Символ "[" в строке после переменной.

Роберт

Аналитик
Символ "[" в строке после переменной.

Надо к примеру выполнить такую строку:
PHP:
<?
$Pole='ppp';
$Massiv=array('X'=>12,'Y'=>200);
echo "...$Pole[$Massiv[X]]...";
?>
И получить результат: ...ppp[12]...
Но PHP видя после переменной $Pole символ "[" считает что это массив , ожидает что в квадратной скобке будет простой параметр после которого будет идти символ "]" , но встречает сложный параметр и выдаёт ошибку:
Parse error: syntax error, unexpected '[', expecting ']' in index.php on line 4
Как красивей убедить PHP чтобы он не рассматривал $Pole как массив?

Я делаю так:
echo "...$Pole"."[$Massiv[X]]...";
(тоесть вставил: кавычку , точку и ещё одну кавычку перед символом "[");
Может кто-то подскажет более красивый способ (ну вот просто не хочется прерывать строки)?

Вообще-то я ожидал что прокатит:
echo "...$Pole\[$Massiv[X]]...";
(тоесть типа экранирую квадратную скобку) , однако он просто взял и вывел в результате: ...ppp\[12]...
Впринципе тоже самое выводит и если написать:
echo "...$Pole\\[$Massiv[X]]...";


Ещё думал что пройдёт вариант:
echo "...$Pole[{$Massiv[X]}]...";
(тоесть чтобы PHP вначале обработал $Massiv[X] , и не ругался что открывается "[" вместо закрытия) , но и на это получаю недовольство кампилятора.

Может у кого-то будут ещё идеи?
 

HEm

Сетевой бобер
PHP:
echo "..." . $Pole . "[" . $Massiv['X'] . "]...";
это хороший стиль, он требует чутьчуть (совсем немного, особенно когда пишешь на автомате) больше усилий, зато гораздо легче читается (особенно в редакторе с подсветкой кода) и предохраняет от таких ситуаций

-~{}~ 18.07.08 08:12:

честно признаться, я пишу вот так:
PHP:
echo "...".$Pole."[".$Massiv['X']."]...";
$)
 

zerkms

TDD infected
Команда форума
HEm
опять будут говорить, что я прикапываюсь, но зачем двойные (а не одинарные) кавычки?
 

HEm

Сетевой бобер
я привык выделять строки так (главная причина конечно в том, что колорер под фаром с одинарными кавычками ведет себя местами не так как надо, а именно со строками больше 8 символов)
 

Wicked

Новичок
HEm
(особенно в редакторе с подсветкой кода)
нормальные редакторы с подсветкой кода нормально подсвечивают и переменные внутри строк.

-~{}~ 18.07.08 11:45:

zerkms
потому что привычка, потому что читаемость лучше, потому что в на письме при цитировании предпочтение отдается обычно двойным, потому что "echo 'Это не вставит: \n новую строку';" (c) php man...

и лично мне пофиг, что это теоретически медленней работает, и что я теоретически могу случайно ошибиться, и вывести , например, переменную, которую я не хочу выводить.

и да, ты прикапываешься :)
 

zerkms

TDD infected
Команда форума
Wicked
продолжим прикапываться
1. читаемость лучше с одинарными (субъективно)
2. это не письмо, а программирование
3. когда мне нужно добавить перевод строки - я пишу "; эта, плюс длинные sql-запросы с кавычками внутри, единственные ситуации, когда я использую двойные

:-Р
 

Фанат

oncle terrible
Команда форума
Вместо того, чтобы устраивать очередной спор тупоконечников с остроконечниками, пошлите уже нашего седовласого аналитика в ануал.
 

Роберт

Аналитик
zerkms
Спасибо. Как-то в 6 часов ночи и не сообразил что не там фигурные скобки ставлю.
А что касается Фaнaта - он будет не фанатом если не отметится в моём посте. У него принципы такие :)
 
Сверху