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 :: странности shuffle()

 PHP.SU

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


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

> Описание: неясность почему массив меняет значения
Даниил
Отправлено: 03 Октября, 2013 - 18:11:51
Post Id



Новичок


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


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




Добрый вечер,форумчане,задача: вывести по парам массив табличкой и перемешать рандомно тот же массив и так же его вывести.

есть такой код:
PHP:
скопировать код в буфер обмена
  1. $list = array ("bread"=>"хлеб", "fuck"=>"фак","duck"=>"утка","clown"=>"клоун");
  2. function list_print($list){
  3.         echo "<table>";
  4.         foreach ($list as $key=>$value) { echo "<tr><td>".$key."</td><td>".$value."</td></tr>";}
  5.         echo "</table>";
  6. };
  7. function list_shuffle ($list) {
  8.                 shuffle($list);
  9.         list_print($list);
  10. }
  11. list_print($list);
  12. list_shuffle($list);


Но получается такой результат:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. bread   хлеб
  3. fuck    фак
  4. duck    утка
  5. clown   клоун
  6. 0       фак
  7. 1       хлеб
  8. 2       утка
  9. 3       клоун


Суть проблемы: если первый массив выводит без шафла правильно, то после шафла первые(английские слова в данном случае) индексы массива заменяются числами. Так должно быть и я просто чего-то не понимаю? И как это дело исправить?
 
 Top
IllusionMH
Отправлено: 03 Октября, 2013 - 18:17:31
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Даниил, и какой "порядок" в ассоциативном массиве? нужно создать массив ассоциативных массивов(
PHP:
скопировать код в буфер обмена
  1. $arr[] = array('eng'=>'bread', 'ru'=>'хлеб');
 
 Top
Даниил
Отправлено: 03 Октября, 2013 - 18:29:25
Post Id



Новичок


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


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




IllusionMH пишет:
Даниил, и какой "порядок" в ассоциативном массиве? нужно создать массив ассоциативных массивов(
PHP:
скопировать код в буфер обмена
  1. $arr[] = array('eng'=>'bread', 'ru'=>'хлеб');


Тот факт что он не имеет порядка принципиален?
 
 Top
IllusionMH
Отправлено: 03 Октября, 2013 - 18:46:34
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Даниил, а как еще отсортировать в рандомном порядке(при этом строго задать этот порядок), если порядок элементов не важен? Ну логика ж

(Отредактировано автором: 03 Октября, 2013 - 18:46:56)

 
 Top
Даниил
Отправлено: 03 Октября, 2013 - 19:00:35
Post Id



Новичок


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


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




a http://www.php.su/functions/?shuffle ,собственно, не эту задачу решает?
 
 Top
IllusionMH
Отправлено: 03 Октября, 2013 - 19:22:32
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


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




Даниил, вы прикалываетесь? И как же вы собираетесь порядок в ассоциативном массиве хранить порядок элементов, если его там нет.
В первом посте показано как организовать массив
 
 Top
Даниил
Отправлено: 03 Октября, 2013 - 21:55:07
Post Id



Новичок


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


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




IllusionMH пишет:
Даниил, вы прикалываетесь? И как же вы собираетесь порядок в ассоциативном массиве хранить порядок элементов, если его там нет.
В первом посте показано как организовать массив


Нет, ни коем образом не прикалывался, просто пытался понять, как оказалось просто тупил, задача решается именно как было сказано IllusionMH.


У меня ещё один глупый вопрос - какая разница между заданием массива так
и
 
 Top
imya
Отправлено: 04 Октября, 2013 - 09:57:12
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




Даниил пишет:



У меня ещё один глупый вопрос - какая разница между заданием массива так
и


Первая запись - переменная типа массив.
Вторая запись -переменная типа массив массивов(двумерный массив).


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 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