|
|
|
| Какой вариант обращения правильный $_POST['id'] или $_POST[id] ? | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 00:08)
| | 1, ибо поставьте перед этим
или просто
| |
|
|
|
|
|
|
|
для: bronenos
(22.08.2007 в 00:10)
| | Спасиб, я тоже так думал, но почему некоторые на форуме, показывая пример решения проблемы, указывают второй вариант вывода даннын? странно это все... | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 00:08)
| | В свободном виде $_POST['id'], при интерполяции в строке - $_POST[id]
<?php
echo $_POST['id']."<br>";
echo "$_POST[id]<br>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.08.2007 в 01:10)
| | А почему так? а если при интерполяции указывать 1й вариант? | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 01:19)
| | Если вы укажите вариант
<?php
echo "$_POST['id']<br>";
?>
|
Он будет считаться ошибочным, чтобы использовать одиночные кавычки для выделения ключа массива, придётся заключить элемент в фугурные скобки
<?php
echo "{$_POST['id']}<br>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.08.2007 в 01:26)
| | Но ведь можно поступить и вот так:
<?php
echo "текст".$_POST['id']."текст";
?>
|
и чем этот вариант хуже чем вот такое написание:
<?php
echo "текст $_POST[id] текст"
?>
|
| |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 08:13)
| | По большому счёту ничем... Однако, мне кажется, что второй вариант более читабельный, чем первый, кто-то может считать по другому. Вообще говоря, в промышленных языках такое количество вариаций не допускается, чтобы код не создавался кто в лес, кто по дрова. Однако, при создании PHP очень многое было заимстововано из Perl, который создавался как контекстный язык, т.е. с элементами лингвистического языка - в нём наоборот привествуется множественное решение одной и той же задачи (в отличии от ортогональных языков, где стремятся к тому, чтобы каждый класс задач решался однозначно). Вообще, для более глубокого понимания PHP полезно изучить Perl... | |
|
|
|
|
|
|
|
для: cheops
(22.08.2007 в 09:44)
| | мне наример приемлема больше такой стиль написания:
<?php
echo "текст".$_POST['id']."текст";
?>
|
В нем видно что является переменной, а что строкой (наврядли еще кто-то пишет код в блокноте, а в редакторах они выделяются разными цветами).
А на безопасности скрипта как эти 2 вида сказываются? | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 10:01)
| | Иногда бывает сложно читать такие строки, когда переменных несколько десятков - в глазах рябит от кавычек и точек, но это дело каждого программиста (раз уж предоставляется несколько вариантов интерполяции).
>А на безопасности скрипта как эти 2 вида сказываются?
Нет, оба эквивалентны. | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 10:01)
| | я пишу в блокноте | |
|
|
|
|
|
|
|
для: bronenos
(22.08.2007 в 12:43)
| | а блокнот Win или какойнибудь *nix системы? | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 13:02)
| | винды, хотя чаще wordpadом | |
|
|
|
|
|
|
|
для: lifead
(22.08.2007 в 10:01)
| | В таком случае еще более приемлимым является код вида
<?php
echo 'текст' . $_POST [ 'id' ]. 'текст' ;
?>
| ,так как в случае с двойными кавычками интерпретатору приходится анализировать строку на наличие $имяпеременной для замены его на значение этой переменной,а в случае с одинарными кавычками php тупо выводит строку 'как есть',что,естественно,быстрее...Я лично всегда использую такое написание | |
|
|
|