<?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 написал(а):
Да не за что) интересная ошибка) я сначала тоже думал почему не работает)