[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобратся.
miningo
Здравствуйте! Помогите разобратся, почему в первом случае всё работает, а во втором нет. Разница вроде только в типах. ;)

<?php
function
funct(&$string)
{
$string .= 'а эта внутри.';
}
$str = 'Эта строка за пределами функции, ';
funct($str);
echo $str;
?>

Выведет 'Эта строка за пределами функции, а эта внутри.' всё норм.



<?php
function
increment(&$a)
{
++;
}
$num = 100;
increment($num);
echo $num;
?>

Должен вывести 101 а выводит 100, вчём трабла, пример из учебника Котерова 2 издание.
Заранее спасибо.



Спустя 18 минут, 23 секунды (10.10.2011 - 05:21) bulgakov написал(а):
Код вроде бы верный, проверьте нотисы выводит какие нибудь? добавьте в начало скрипта строчку - error_reporting(E_ALL );

Спустя 4 минуты, 24 секунды (10.10.2011 - 05:25) bulgakov написал(а):
Незнаю может у вас проблема не в этом, но я ради интереса скопировал ваш код и попробовал у себя, в результате получил нотис:

<?php
function
increment(&$a)
{
++; Notice: Undefined variable: а in /var/www/test.php on line 23 ругается на эту строку
}
$num = 100;
increment($num);
echo $num;
?>


Потом я взял и переименовал переменную:

<?php
function
increment(&$i)
{
$i++;
}
$num = 100;
increment($num);
echo $num;
?>
и все заработало, может быть у вас просто одна "а" в английской раскладке набрана а другая в русской?

Спустя 1 минута, 45 секунд (10.10.2011 - 05:27) miningo написал(а):
Действительно, после копипаста из учебника а оказалась транслированой. Спасибо большое! Совсем про нотисы забыл

Спустя 1 минута (10.10.2011 - 05:28) bulgakov написал(а):
Да не за что) интересная ошибка) я сначала тоже думал почему не работает)
Быстрый ответ:

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