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);
вариантов тут много, кто на что горазд :)