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
Форумы портала PHP.SU :: Версия для печати :: функция array_count_values()
Форумы портала PHP.SU » PHP » Программирование на PHP » функция array_count_values()

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

1. Ammiak - 18 Апреля, 2011 - 13:10:53 - перейти к сообщению
здравствуйте, непонятен такой момент при использовании функции array_count_values(). Например обрабатываем такой массив:
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr=array('Mon', 'Thu', 'Mon', 'Tue', 'Tue', 'Tue',  'Thu');
  3. foreach($a as $key=>$value)
  4. echo "$key=$value</br>";
  5.  


почему выводится только:
Цитата:
Tue=3
. заранее благодарю
2. Мелкий - 18 Апреля, 2011 - 13:17:38 - перейти к сообщению
Ammiak пишет:
foreach($a as $key=>$value);

последующий echo в цикл уже не входит.

var_dump и print_r удобнее, чтобы смотреть содержимое массивов.
3. Ammiak - 18 Апреля, 2011 - 14:44:46 - перейти к сообщению
Дамп массива выглядит так:
Цитата:
Array
(
[Mon] => 4
[Thu] => 2
[Tue] => 3
)

вопрос в следующем: как вывести скажем "Понедельников: 4".
Не так же:
PHP:
скопировать код в буфер обмена
  1. echo 'Понедельников:'. $value[0];

больше пока в голову ничего не приходит...
4. Viper - 18 Апреля, 2011 - 15:34:30 - перейти к сообщению
Ammiak а с какого перепугу вы обращаетесь по индексу если массив ассоциативный?

Да. Говнокод реальный был. Тут вроде написали уже велосипед http://www.php.net/manual/en/fun...count.php#100064
5. Ammiak - 18 Апреля, 2011 - 16:05:01 - перейти к сообщению
Viper пишет:
$new = array();
foreach ($arr as $key=>$val) {
if ($key['Tue']) $new[] = $val;
}
echo count($new);

спс, то что надо

 

Powered by ExBB FM 1.0 RC1