Я получаю сообщение об ошибке, которого я не могу решить.Странная ошибка смещения в PHP
Ошибка:
Uninitialized string offset: 1
Код:
if($play_count_within_45_minutes[1] > $play_history_old_over_45_minutes_ago[$i][1]){...}
ошибка происходит на переменной $play_count_within_45_minutes[1]
, потому что при изменении индекса 0
(как и в $play_count_within_45_minutes[0]
), его работает отлично.
У меня было показать, какое значение будет, и он выводит хорошо, с этим кодом:
print_r($play_count_within_45_minutes[1]);
Выход есть:
1.0E+80
Оригинальная переменная декларация:
$play_count_within_45_minutes = [0, 100000000000000000000000000000000000000000000000000000000000000000000000000000000];
Я не думаю, что число слишком велико, поскольку я попытался сменить его 1
, и я получил sam e ошибка.
Я нашел, что это что-то делать с этим контуром (print_r()
находится там, как я тестировал его, и это дает ту же ошибку):
for($i=0; $i <= (count($play_history_old_over_45_minutes_ago)-1); $i++){
echo "<br>";
print_r($play_count_within_45_minutes[1]);
echo "<br>";
if($play_count_within_45_minutes[1] > $play_history_old_over_45_minutes_ago[$i][1]){
$play_count_within_45_minutes = $play_history_old_over_45_minutes_ago[$i][1];
}
}
Какова ваша версия PHP? Объявление массивов '$ var = [];' не произошло до v5.4 http://php.net/manual/en/language.types.array.php 'Начиная с PHP 5.4 вы также можете использовать синтаксис короткого массива , который заменяет array() на [] .' – Sean
Вы могли бы опубликовать вывод sizeof ($ play_count_within_45_minutes)? – lexmihaylov
Посмотрите на [этот ответ] (http://stackoverflow.com/a/15538676/2493918). –