2013-04-13 6 views
-1

PHP-переменная $ a (которая была установлена ​​в значение ранее в коде) сбрасывается до значения 0, и я не хочу этого делать. В конце php-кода я сделал echo, а $ a - 0. Поэтому я сделал массив отладки, чтобы поймать значение в разных точках. Я нашел, где она становится установлен в 0. Вот код:php variable reset to 0

$a = 1; 
if($total> 0){ 
    $a = ($a/$total); 
    $X["i"]=$a;  
} 
$X["ii"]=$a; 

Output: 
$x["i"]=1; 
$x["ii"]=0; 

Несколько вещей: Там нет функций на всех (и, очевидно, не там, где быть установлен в 0), а $ а является глобальным. Это очень большой файл php. Мне интересно, если проблема памяти ...? Без понятия. Я не nube для php, а для программирования.

+2

, которые могли бы не мог сделать такую ​​вещь , если '$ a' - это ссылка, установленная в другом месте кода, которую вы не указали, что означает, что она может непредсказуемо изменять значения на основе действий в другом месте кода. –

+0

Возможно, где-то еще в коде вы используете то, что, по вашему мнению, является другой переменной, называемой '$ a' (если предположить, что это настоящее имя, которое является очень плохим именем для переменной) и перезаписи его случайно? – IMSoP

ответ

0

Вы настраиваете капитал X и вывода нижнего регистра х

(Если бы это было просто опечатка, пожалуйста, покажите больше кода. Например, код вывода данных.)

+0

Это была просто опечатка: x vs X. Еще одна вещь: вполне могла быть ошибка с делением на нуль до кода, который я показал с переменной в какой-то момент (fyi: я не показывал весь мой код, потому что он действительно огромный). Таким образом, все еще ничего не могло произойти в показанном коде, но может ли быть виновата предыдущая математическая ошибка? – user2278448

+0

@ user2278448, только если вы делаете вещи между установкой $ x ['i'] и $ x = ['ii']. То, что вы показали, не содержит очевидной ошибки. Поэтому вам нужно бросить нас немного больше, чтобы помочь вам. Вы можете попробовать поставить код на pastebin, если он слишком большой для здесь. –