[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 2 задачи из курса от GLOCK18
DorianLeroy
Взято отсюда http://phpforum.su/index.php?showtopic=23625
1.
$a = 'любая строка или число';
$b = 'любая другая строка или число';


средствами php поменять местами значения переменных, не используя третью переменную. имеется ввиду только явное объявление переменной. способов решения очень много. предоставить нужно хотя бы 2 варианта решения.

2.
$arr = array(1, 2, 3, 4);
foreach ($arr as &$item) {
print $item;
}

foreach ($arr as $item) {
print $item;
}


каков результат и почему?

Можно решение первой и объяснить почему во второй задаче получаются ответы 1234 и 1233? я впринципе с сылками знаком, но видимо не настолько)



Спустя 47 минут, 53 секунды (22.02.2011 - 01:15) jetistyum написал(а):

$a = 'a';
$b = 'b';
$a = $b = array($a, $b);
$a = $a[1];
$b = $b[0];

echo $a, $b;


можно еще конкатенацией строк и последующей разрезкой, implode, explode, с одним смыслом - в одну переменную запихать обе, потом разделить так, чтобы появились новые значения.

Спустя 1 минута, 45 секунд (22.02.2011 - 01:16) DedMorozzz написал(а):
ф-я list ещё.
Иль по битовый перенос )

Спустя 27 минут, 41 секунда (22.02.2011 - 01:44) inpost написал(а):
$a = "водка";
$b = "пиво";
$a .= "-".$b;
$b = preg_replace("|^.*?-|ius","",$a);
$a = preg_replace("|-.*$|ius","",$a);

если, конечно, не допустил в регулярке грамматической ошибки =)

Спустя 23 минуты, 52 секунды (22.02.2011 - 02:08) glock18 написал(а):
Цитата (DorianLeroy @ 21.02.2011 - 21:27)
объяснить почему во второй задаче получаются ответы 1234 и 1233? я впринципе с сылками знаком, но видимо не настолько)


второй цикл по массиву кладет значение в последний элемент массива, на который смотрит $item после первого цикла.

в 1й задаче отдаю предпочтение решениям, не привязанным к типу переменных - самое красивое, на мой взгляд

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


вариантов тут много, кто на что горазд :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.