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]   

> Описание: ассоциативный массив, содержащий информацию о пользователях (ФИО, возраст, количество посещений страницы).
Sava1554
Отправлено: 09 Марта, 2015 - 15:41:30
Post Id


Новичок


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


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




Создайте ассоциативный массив, содержащий информацию о пользователях (ФИО, возраст, количество посещений страницы). Выведите всю информацию, начиная с пользователей, у которых количество посещений страницы больше.
В общем начало есть, только выводится неправильно и как сделать чтобы выводило по количеству посещений?
PHP:
скопировать код в буфер обмена
  1. <html>
  2.  
  3. <head>
  4.   <title></title>
  5. </head>
  6.  
  7. <body>
  8.  
  9. <?PHP
  10. $user = array ("Иванов И.И." => array('name'=>"Иванов И.И.", 'age'=>28, 'visited'=>28), "Петров В.И." =>array('name'=>"Петров В.И.",'age'=>24, 'visited'=>21), "Сидоров К.С." =>array('name'=>"Сидоров К.С.",'age'=>19, 'visited'=>22));
  11. echo "<pre>";
  12. printf ("%-15s%15s%30s\n%'50s\n", "ФИО", "Возраст", "Количество посещений", "");
  13. foreach ($user as $info)
  14.     foreach($info as $key=>$value)
  15.         printf ("%'_-15s%'_-30s\n", '', $value);
  16. echo "</pre>";
  17. ?>
  18.  
  19. </body>
  20.  
  21. </html>
 
 Top
Ts.Saltan
Отправлено: 09 Марта, 2015 - 22:28:57
Post Id



Посетитель


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


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




Sava1554 пишет:
array ("Иванов И.И." => array('name'=>"Иванов И.И."

зачем плодить одни и те же данные?

PHP:
скопировать код в буфер обмена
  1.  
  2. $user = array(
  3.     array('name'=>"Иванов И.И.", 'age'=>28, 'visited'=>28),
  4.     array('name'=>"Петров В.И.",'age'=>24, 'visited'=>21),
  5.     array('name'=>"Сидоров К.С.",'age'=>19, 'visited'=>22)
  6. );
  7.  
  8. function cmp($a, $b){
  9.     if ($a['visited'] == $b['visited']) {
  10.         return 0;
  11.     }
  12.     return ($a['visited'] < $b['visited']) ? -1 : 1;
  13. }
  14.  
  15. usort($user, "cmp");
  16. var_dump($user);
  17.  


Код не тестировал, но должно работать

(Отредактировано автором: 09 Марта, 2015 - 22:29:18)

 
 Top
likvidator
Отправлено: 09 Марта, 2015 - 22:48:03
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


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

[+]


Ts.Saltan пишет:
од не тестировал, но должно работать

Работает... Я тут тоже прикинул..но уж ночь,не очень мне он нравится:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.   <title></title>
  5. </head>
  6. <body>
  7.  

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $user = array ("Иванов И.И." => array('name'=>"Иванов И.И.", 'age'=>28, 'visited'=>28), "Петров В.И." =>array('name'=>"Петров В.И.",'age'=>24, 'visited'=>21), "Сидоров К.С." =>array('name'=>"Сидоров К.С.",'age'=>19, 'visited'=>22), "Клон Сидорова К.С." =>array('name'=>"Клон К.С.",'age'=>1899, 'visited'=>22));
  3. foreach($user as $key=>$value){
  4. $value['name']=$key;
  5. $subarr[$value['visited']][]=$value;
  6. }
  7. krsort($subarr);
  8. ?>

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table border="1px">
  3. <tr><td>ФИО</td><td>Возраст</td><td>Количество посещений</td></tr>
  4.  

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. foreach($subarr as $sb){
  3. foreach($sb as $arr){
  4. ?>
  5. <tr><td><?=$arr['name']?></td><td><?=$arr['age']?></td><td><?=$arr['visited']?></td></tr>
  6. <?
  7. }}
  8. ?>

CODE (html):
скопировать код в буфер обмена
  1.  
  2. </table>
  3. </body>
  4. </html>
  5.  

(Отредактировано автором: 09 Марта, 2015 - 22:48:51)

 
 Top
Sava1554
Отправлено: 11 Марта, 2015 - 19:52:38
Post Id


Новичок


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


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




likvidator пишет:
Ts.Saltan пишет:
од не тестировал, но должно работать

Работает... Я тут тоже прикинул..но уж ночь,не очень мне он нравится:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4.   <title></title>
  5. </head>
  6. <body>
  7.  

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $user = array ("Иванов И.И." => array('name'=>"Иванов И.И.", 'age'=>28, 'visited'=>28), "Петров В.И." =>array('name'=>"Петров В.И.",'age'=>24, 'visited'=>21), "Сидоров К.С." =>array('name'=>"Сидоров К.С.",'age'=>19, 'visited'=>22), "Клон Сидорова К.С." =>array('name'=>"Клон К.С.",'age'=>1899, 'visited'=>22));
  3. foreach($user as $key=>$value){
  4. $value['name']=$key;
  5. $subarr[$value['visited']][]=$value;
  6. }
  7. krsort($subarr);
  8. ?>

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table border="1px">
  3. <tr><td>ФИО</td><td>Возраст</td><td>Количество посещений</td></tr>
  4.  

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. foreach($subarr as $sb){
  3. foreach($sb as $arr){
  4. ?>
  5. <tr><td><?=$arr['name']?></td><td><?=$arr['age']?></td><td><?=$arr['visited']?></td></tr>
  6. <?
  7. }}
  8. ?>

CODE (html):
скопировать код в буфер обмена
  1.  
  2. </table>
  3. </body>
  4. </html>
  5.  


А у вас работает, а то что-то у меня ничего не пашет.
 
 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