Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблема с добавлением в массив по условию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не могу понять почему не работает простой код
Илья Сирин
Отправлено: 27 Августа, 2015 - 16:14:25
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




//НЕ ПОНИМАЮ ПОЧЕМУ В МАССИВ НЕ ДОБАВЛЯЕТСЯ ИНФОРМАЦИЯ
//
//КОД УСЛОВНЫЙ, ЗНАЧЕНИЯ БЕРУТСЯ ИЗ БАЗЫ
//устанавливаю значение идентификатора текущей игры
$curgame='3';
//устанавливаю значение идентифиактора новой(непройденной) подсказки
$tipidnew='99';
//создаю массив с пройденными подсказками для текущей игры
$gameid1 = array();
$gameid1[] = '1';
$gameid1[] = '2';
$gameid1[] = '3';
//массив с прогрессом по всем играм
echo '<p>gameprogess</p>';
$gameprogress1=array();
//вношу в него массив текущей игры
$gameprogress1[$curgame]=$gameid1;
echo '<p><pre><p>'; print_r($gameprogress1); echo '</p></pre></p>';
//
//НА ВЫХОДЕ =>
//gameprogess
//
//Array
//(
//[3] => Array
// (
// [0] => 1
// [1] => 2
// [2] => 3
// )
//
//)
//
//ДОБАВЛЯЮ В МАССИВ ИНФОРМАЦИЮ О ПРОЙДЕННОЙ ПОДСКАЗКЕ
//
echo '<p> новый tipid'.$tipidnew.'</p>';

foreach ( $gameprogress1 as $key => $game )
{
echo '<p>'.$key.'-'.$game.'</p>';
//
//ЗДЕСЬ ПРОВЕРЯЮ УСЛОВИЕ ЕСТЬ ЛИ В МАССИВЕ ТЕКУЩАЯ ИГРА?, ЕСЛИ ДА ТО ДОБАВЛЯЮ В КОНЕЦ МАССИВА ПРОЙДЕННЫХ ПОДСКАЗОК, НОВУЮ
//
if ($key==$curgame)
{
$game[]=$tipidnew;
};
};
echo '<h1>new info</h1>';
echo '<p><pre><p>'; print_r($gameprogress1); echo '</p></pre></p>';
//
// НА ВЫХОДЕ
//
//новый tipid99
//
//3-Array
//
//new info
//
//Array
//(
// [3] => Array
// (
// [0] => 1
// [1] => 2
// [2] => 3
// )
//
//)
//ЕЩЕ РАЗ ТОТ ЖЕ ВОПРОС=) ПОЧЕМУ НЕ ОБНОВИЛСЯ ВЛОЖЕННЫЙ МАССИВ?
 
 Top
andrewkard
Отправлено: 27 Августа, 2015 - 16:23:30
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Илья Сирин
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($key==$curgame)
  3. {
  4. $game[]=$tipidnew;
  5. };
  6. };
  7. echo '<h1>new info</h1>';
  8. echo '<p><pre><p>'; print_r($gameprogress1); echo '</p></pre></p>';
  9.  


Это разные массивы:
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($key==$curgame)
  3. {
  4. $gameprogress1[$key][]=$tipidnew;
  5. };
  6.  

как то так...
 
 Top
Илья Сирин
Отправлено: 27 Августа, 2015 - 16:28:39
Post Id



Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Большое спасибо! Код сработал) после нескольких тысяч строк кода, уже элементарные вещи не вижу.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB