Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Значение переменных
 
 автор: Boss   (26.09.2005 в 21:28)   письмо автору
 
 

Добрый вечер.
Вот интересует такой вопрос:
есть 2 переменные с произвольным содержимым, например:


$a = "Internet"
$b = "74"


Как более ОПТИМАЛЬНО поменять значение $a и $b
т.е. чтобы стало:


$a = "74"
$b = "Internet"

   
 
 автор: Евгений Петров   (26.09.2005 в 21:55)   письмо автору
 
   для: Boss   (26.09.2005 в 21:28)
 

Оптимальнее чем:

$c = $a;
$a = $b;
$b = $c;

никак

   
 
 автор: Boss   (26.09.2005 в 22:01)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 21:55)
 

вот это меня и напрягает, создавать ненужную переменную.
Просто думаю может в пхп есть функция которая меняет значение переменных?
Не слышал что-нибуть подобного?

   
 
 автор: Евгений Петров   (26.09.2005 в 22:06)   письмо автору
 
   для: Boss   (26.09.2005 в 22:01)
 

Да нет нету такой функции, а если бы и существовала, то работала она точно так же. Это ничего страшного, одна переменная будет занимать около 2-4 байт - это ОЧЕНь мало, так что не мучайся.

   
 
 автор: isset   (26.09.2005 в 22:15)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 22:06)
 

2-4...А если я в переменную прочитаю файл 5-и меговый?


Boss , скорее всего эту задачу ты выдумал сам, в жизни с таким сталкиваться не приходится...

   
 
 автор: Евгений Петров   (26.09.2005 в 22:19)   письмо автору
 
   для: isset   (26.09.2005 в 22:15)
 

Поверьте очень даже приходится например при сортировке.

   
 
 автор: isset   (26.09.2005 в 22:53)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 22:19)
 

Значит неправильная реализация алгоритма

   
 
 автор: Boss   (26.09.2005 в 22:23)   письмо автору
 
   для: isset   (26.09.2005 в 22:15)
 

Точно сказал! Представляешь сижу ночью, пью кофе и думаю чтобы придумать такое чтобы участники форума Softtime помучались?

На самом деле сейчас решаю задачи-алгоритмы, например решить задачу по алгоритму Евклина(НОД). Вот там и надо постоянно менять местами значения 2 переменных.

   
 
 автор: isset   (26.09.2005 в 22:51)   письмо автору
 
   для: Boss   (26.09.2005 в 22:23)
 

А для этого придумали массивы...

   
 
 автор: Boss   (26.09.2005 в 22:55)   письмо автору
 
   для: isset   (26.09.2005 в 22:51)
 

Поясни точнее "для чего "?

   
 
 автор: Boss   (26.09.2005 в 22:18)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 22:06)
 

Плохо что нет.
А если речь идет не об 1 переменной, которая занимает 2-4 байт?
Допустим есть 100000 переменных, и надо сдинуть их значения на одну переменную, т.е. чтобы $a=$b, $b=$c и т.д.

   
 
 автор: Евгений Петров   (26.09.2005 в 22:24)   письмо автору
 
   для: Boss   (26.09.2005 в 22:18)
 

Ну и что что 10000, все равно лишняя переменная будет только одна.

   
 
 автор: Boss   (26.09.2005 в 22:40)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 22:24)
 

Точно! Но думаю функцией было бы лучше =((

   
 
 автор: Евгений Петров   (26.09.2005 в 22:44)   письмо автору
 
   для: Boss   (26.09.2005 в 22:40)
 

А что стоит написать функцию самому?

   
 
 автор: Boss   (26.09.2005 в 22:54)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 22:44)
 

Меня интересовала стандартная функция.
Придется самому писать =)).
Все OFF TOP

   
 
 автор: Евгений Петров   (26.09.2005 в 23:33)   письмо автору
 
   для: Boss   (26.09.2005 в 22:54)
 

Что значит неправильная? Пузырьковая сортировка, шейкерная, быстрая сортировка,..... там везде меняются местами две переменных

   
 
 автор: isset   (26.09.2005 в 23:36)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 23:33)
 

Тут не совсем это, "две переменных", но никак не 1000

   
 
 автор: Евгений Петров   (26.09.2005 в 23:51)   письмо автору
 
   для: isset   (26.09.2005 в 23:36)
 

Ну и что, обмениваться за раз будут только две. Просто 10000 раз.

   
 
 автор: isset   (26.09.2005 в 23:54)   письмо автору
 
   для: Евгений Петров   (26.09.2005 в 23:51)
 

А это тут при чем, выше смотрите:
> Допустим есть 100000 переменных, и надо сдинуть их значения на одну переменную, т.е. чтобы $a=$b, $b=$c и т.д.

Переменных, никаких "раз"

   
 
 автор: cheops   (26.09.2005 в 22:52)   письмо автору
 
   для: Boss   (26.09.2005 в 21:28)
 

Тут где-то была похожая тема, но я её уже не найду... там было интересное решение
<?php
  
list($a$b) = array($b$a);
?>

   
 
 автор: isset   (26.09.2005 в 22:54)   письмо автору
 
   для: cheops   (26.09.2005 в 22:52)
 

http://softtime.ru/forum/read.php?id_forum=1&id_theme=7155&page=1
Эта?

   
 
 автор: cheops   (26.09.2005 в 23:00)   письмо автору
 
   для: isset   (26.09.2005 в 22:54)
 

Ага :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования