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

Форум PHP

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

 

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

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

тема: Как поменять местами значения переменных?
 
 автор: salex   (07.09.2005 в 12:08)
 
 

Простейший вопрос, но никак не найду, как в PHP поменять местами значения двух переменных?
$a=5;
$b=7;
Как однив выражением сделать, что бы $a=7, а $b=5 ??? :)

   
 
 автор: cernos   (07.09.2005 в 12:12)   письмо автору
 
   для: salex   (07.09.2005 в 12:08)
 

Какая разница php ли это или другой язык программрования, но делается это примерно так:

$a=5;
$b=7;

$a=$a+$b;
$b=$a-$b;
$a=$a-$b;

echo "a=".$a."<br>b=".$b;



Вы имеете это ввиду или как вы собираетесеь поменять всё одним выражением!
В одно выражение, это как?!

   
 
 автор: salex   (07.09.2005 в 12:23)
 
   для: cernos   (07.09.2005 в 12:12)
 

Да, я имел ввиду одной строкой!

   
 
 автор: P@Sol   (07.09.2005 в 12:32)   письмо автору
 
   для: salex   (07.09.2005 в 12:23)
 

функция напиши:)

<?
funtion revers 
($a,$b)
{
$a=$a+$b
$b=$a-$b
$a=$a-$b;
echo  
"$a,$b";
}

$a=5;
$b=7;
revers($a,$b);


пока писал, появился вопрос, как из функции вернуть два значения?

   
 
 автор: salex   (07.09.2005 в 12:42)
 
   для: P@Sol   (07.09.2005 в 12:32)
 


$a=$a+$b;
$b=$a-$b;
$a=$a-$b;

Да это все и так понятно! :)))
Я имел ввиду, есть ли в PHP своя функция или выражение, позволяющие это сделать? Ну что бы снова не изобретать колесо... :)
Видимо, нету?...

   
 
 автор: salex   (07.09.2005 в 12:56)
 
   для: salex   (07.09.2005 в 12:42)
 

Еще знаю вариант:

list($a, $b) = array($b, $a)

   
 
 автор: cernos   (07.09.2005 в 12:49)   письмо автору
 
   для: P@Sol   (07.09.2005 в 12:32)
 

точно не помню, но вроде есть такое как return list()
Вроде так, на этот вопрос cheops ответить сможет....

   
 
 автор: cheops   (07.09.2005 в 13:30)   письмо автору
 
   для: P@Sol   (07.09.2005 в 12:32)
 

Да это делается при помощи конструкции list
<? 
funtion revers 
($a,$b

  
$a $a $b
  
$b $a $b
  
$a $a $b
  return  list(
$a$b); 
}
?>

Функция возврщает массив из двух элементов.

   
 
 автор: salex   (07.09.2005 в 14:19)
 
   для: cheops   (07.09.2005 в 13:30)
 

А смысл писать функцию, которая будет работать так:

list($a,$b)=revers($a,$b);

если можно просто:

list($b,$a)=array($a,$b);

Или я что не догоняю?... :)

P.S. Спасибо всем за ответы! :)

   
 
 автор: antf   (07.09.2005 в 15:33)   письмо автору
 
   для: salex   (07.09.2005 в 14:19)
 

Предлагаю еще один способ
<?
//инициализируем переменные
$a 2;
$b 3;
$c '';
//меняем значения a и b
$c $a;
$a $b;
$b $c;
?>

   
Rambler's Top100
вверх

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