|
|
|
| Добрый вечер.
Вот интересует такой вопрос:
есть 2 переменные с произвольным содержимым, например:
$a = "Internet"
$b = "74"
|
Как более ОПТИМАЛЬНО поменять значение $a и $b
т.е. чтобы стало:
$a = "74"
$b = "Internet"
|
| |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 21:28)
| | Оптимальнее чем:
$c = $a;
$a = $b;
$b = $c;
|
никак | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 21:55)
| | вот это меня и напрягает, создавать ненужную переменную.
Просто думаю может в пхп есть функция которая меняет значение переменных?
Не слышал что-нибуть подобного? | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 22:01)
| | Да нет нету такой функции, а если бы и существовала, то работала она точно так же. Это ничего страшного, одна переменная будет занимать около 2-4 байт - это ОЧЕНь мало, так что не мучайся. | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 22:06)
| | 2-4...А если я в переменную прочитаю файл 5-и меговый?
Boss , скорее всего эту задачу ты выдумал сам, в жизни с таким сталкиваться не приходится... | |
|
|
|
|
|
|
|
для: isset
(26.09.2005 в 22:15)
| | Поверьте очень даже приходится например при сортировке. | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 22:19)
| | Значит неправильная реализация алгоритма | |
|
|
|
|
|
|
|
для: isset
(26.09.2005 в 22:15)
| | Точно сказал! Представляешь сижу ночью, пью кофе и думаю чтобы придумать такое чтобы участники форума Softtime помучались?
На самом деле сейчас решаю задачи-алгоритмы, например решить задачу по алгоритму Евклина(НОД). Вот там и надо постоянно менять местами значения 2 переменных. | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 22:23)
| | А для этого придумали массивы... | |
|
|
|
|
|
|
|
для: isset
(26.09.2005 в 22:51)
| | Поясни точнее "для чего "? | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 22:06)
| | Плохо что нет.
А если речь идет не об 1 переменной, которая занимает 2-4 байт?
Допустим есть 100000 переменных, и надо сдинуть их значения на одну переменную, т.е. чтобы $a=$b, $b=$c и т.д. | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 22:18)
| | Ну и что что 10000, все равно лишняя переменная будет только одна. | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 22:24)
| | Точно! Но думаю функцией было бы лучше =(( | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 22:40)
| | А что стоит написать функцию самому? | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 22:44)
| | Меня интересовала стандартная функция.
Придется самому писать =)).
Все OFF TOP | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 22:54)
| | Что значит неправильная? Пузырьковая сортировка, шейкерная, быстрая сортировка,..... там везде меняются местами две переменных | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 23:33)
| | Тут не совсем это, "две переменных", но никак не 1000 | |
|
|
|
|
|
|
|
для: isset
(26.09.2005 в 23:36)
| | Ну и что, обмениваться за раз будут только две. Просто 10000 раз. | |
|
|
|
|
|
|
|
для: Евгений Петров
(26.09.2005 в 23:51)
| | А это тут при чем, выше смотрите:
> Допустим есть 100000 переменных, и надо сдинуть их значения на одну переменную, т.е. чтобы $a=$b, $b=$c и т.д.
Переменных, никаких "раз" | |
|
|
|
|
|
|
|
для: Boss
(26.09.2005 в 21:28)
| | Тут где-то была похожая тема, но я её уже не найду... там было интересное решение
<?php
list($a, $b) = array($b, $a);
?>
|
| |
|
|
|
|
|
|
|
|
для: isset
(26.09.2005 в 22:54)
| | Ага :) | |
|
|
|