|
|
|
|
|
для: Valick
(06.02.2010 в 13:39)
| |
<?php
$a=10;
$p="a";
$$p=100;
echo $a;
|
Попробуйте. | |
|
|
|
|
|
|
|
для: alexon
(04.02.2010 в 20:24)
| | Вот это со страницы по ссылке:
$a=10;
$b=20;
$c=30;
$p="a"; // или $p="b" или $p="c" (присваиваем $p имя другой переменной)
echo $$p; // выводит переменную, на которую ссылается $p, т. е. $a
$$p=100; // присваивает $a значение 100
|
вот это то что написали Вы:
Что прикажете думать? | |
|
|
|
|
|
|
|
для: alexon
(04.02.2010 в 21:11)
| | >.. потому что из учебника в учебник кочует "переменные переменные".
не все йогурты одинаково полезны | |
|
|
|
|
|
|
|
для: Trianon
(04.02.2010 в 21:00)
| | В принципе я с Вами согласен. Однако задал вопрос, потому что из учебника в учебник кочует "переменные переменные". Ну и подумалось, что может существуют случаи когда их применение эффективно. Спасибо. | |
|
|
|
|
|
|
|
для: alexon
(04.02.2010 в 15:47)
| | Динамически именуемые переменные ($$var) - как правило, признак неряшливой разработки.
Ссылки (т.е.&$var) иногда бывают полезны.
Пример - построение дерева по содержимому таблицы ajacency list (id - pid - name)
<pre>
<?php
include 'dbconnect.php';
$sql = "SELECT * FROM tree";
$res = mysql_query($sql) or die("Error on $sql : ".mysql_error());
while($row = mysql_fetch_assoc($res))
{
$tree[$row['id']]['c'] = $row; //implode('#',$row);
$tree[$row['pid']]['n'][] = &$tree[$row['id']];
}
var_dump($tree);
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(04.02.2010 в 20:11)
| | Я разве чем-то обидел? Просто показал различие в понятиях как я их понимаю. По-моему конструктивно ответил на Ваше - Вы шутите. | |
|
|
|
|
|
|
|
для: alexon
(04.02.2010 в 19:20)
| | Ага, понятно. Шутить Вы уже перестали и начали издеваться... ладно переживу, но запомню... | |
|
|
|
|
|
|
|
для: Valick
(04.02.2010 в 17:18)
| | По ссылке значение переменной $var2 просто получает еще одно имя - $var1. Новый контейнер данных не создается, значение старого не изменяется.
Теперь символические или именованные ссылки (синонимы для переменные переменные ).
В результате переменная $a =100
При отработке оператора $$p=100; интерпретатор определяет значение переменной $p (у нас "a"), затем ищет переменную $a и уже ей присваивает значение (100).
Таким образом изменилось значение переменной $а, а кроме того для "обнаружения" использовалась переменная $p.
Вот такие шутки :) | |
|
|
|
|
|
|
|
для: alexon
(04.02.2010 в 17:04)
| | Вы шутите? по ссылке и & и $$var | |
|
|
|
|
|
|
|
для: Valick
(04.02.2010 в 16:23)
| | Я знаком с этой ссылкой , это называется присвоение по ссылке (для этого используется &). Но я имел в виду именно $$var. | |
|
|
|
|