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 :: Редактирование значений в array ()

 PHP.SU

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


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

> Описание: удаление значений в array ()
criaton
Отправлено: 15 Января, 2011 - 19:42:03
Post Id


Гость


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


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




CODE (php):
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4.  
  5.  
  6.       if ( !empty($_POST["delete_list_element"]) &&
  7.             is_array($_POST["delete_list_element"])
  8.             &&  sizeof($_POST["delete_list_element"])>0 )
  9.          {
  10.           $mas_delete_lists=$_POST["delete_list_element"];
  11.  
  12.          
  13.           if (sizeof($mas_url_list)>0)
  14.  
  15.                 {
  16.                
  17.                 foreach ($mas_delete_lists as $name_delete_one_list)
  18.                    {
  19.                     $num_index_del=array_search($name_delete_one_list,$mas_url_list);
  20.                     if ($num_index_del !== false)
  21.                       {
  22.                        
  23.             unset($mas_url_list[$num_index_del]);
  24.  
  25.                       }
  26.                    }
  27.  
  28.                 }
  29.  
  30.  
  31.          }
  32.  
  33.  



Эта часть кода находит номер в встроке array (1|2|3);

и удаляет его unset () , как его изменить чтобы происходила замена значения на новое.


Отредактировано модератором: Champion, 16 Января, 2011 - 09:10:01
 
 Top
vlom
Отправлено: 15 Января, 2011 - 19:49:28
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


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




не удалять а просто присвоить элементу массива новое значение
к примеру:
PHP:
скопировать код в буфер обмена
  1. $array[2] = "новое значение";
 
 Top
criaton
Отправлено: 15 Января, 2011 - 19:52:30
Post Id


Гость


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


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




vlom пишет:
не удалять а просто присвоить элементу массива новое значение
к примеру:
PHP:
скопировать код в буфер обмена
$array[2] = "новое значение";


да верно, но как в существующем коде заменить unset на array для замены массива
 
 Top
JustUserR
Отправлено: 15 Января, 2011 - 19:54:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




criaton пишет:
И удаляет его unset () , как его изменить чтобы происходила замена значения на новое.
Для осуществления установки трубемого допустимого значения для элементов ассоциативного массива указываемого на основе определяемого индекса - достаточно использование простой операции присваивания с корректным выражением правой части произвольного типа


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
vlom
Отправлено: 15 Января, 2011 - 19:57:53
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


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




23 строку заменить на
PHP:
скопировать код в буфер обмена
  1. $mas_url_list[$num_index_del] = "новое значение";

(Добавление)
кажется так должно получится
 
 Top
JustUserR
Отправлено: 15 Января, 2011 - 20:06:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




criaton В случае если в процессе реализации указанной задачи требуется сохранения оригинальног порядка включения внутреннего перечисления элементов связанных с ключами ассоциативного массива - возможно произведение индексации на основе внутреннего индекса


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
criaton
Отправлено: 15 Января, 2011 - 20:12:48
Post Id


Гость


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


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




vlom пишет:
23 строку заменить на

PHP:
скопировать код в буфер обмена
$mas_url_list[$num_index_del] = "новое значение";

(Добавление)
кажется так должно получится


да заменяется последнее значение в массиве

а указывать нужный номер

если 23 строку заменить так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $mas_url_list[$num_index_del] = $_POST["edit_list_element"][$num_index_del];


то тоже происходит некорректная замена

(Отредактировано автором: 15 Января, 2011 - 21:19:58)

 
 Top
criaton
Отправлено: 16 Января, 2011 - 09:03:02
Post Id


Гость


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


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




Никто не подскажет
 
 Top
Champion Супермодератор
Отправлено: 16 Января, 2011 - 09:09:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




criaton пишет:
то тоже происходит некорректная замена
С чего ты взял?
 
 Top
criaton
Отправлено: 16 Января, 2011 - 09:19:26
Post Id


Гость


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


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




Champion пишет:
С чего ты взял?



может потому что это:




задано не верно либо здесь

есть ошибка:

CODE (htmlphp):
скопировать код в буфер обмена
  1. if ( !empty($_POST["delete_list_element"]) &&
  2.            is_array($_POST["delete_list_element"])
  3.            &&  sizeof($_POST["delete_list_element"])>0 )
 
 Top
Champion Супермодератор
Отправлено: 16 Января, 2011 - 10:02:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Я спросил не как ты думаешь, из-за чего ошибка, а с чего ты взял, что она есть.
Потому что замена unset на присваивание тому же элементу 100% поменяет тот же элемент, а не
criaton пишет:
заменяется последнее значение в массиве
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB