
22.08.2008, 15:56
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
С нами:
9963746
Репутация:
392
|
|
А зачем чем ютф лучше? Меня такой вопрос заинтересовал.
|
|
|

22.08.2008, 16:03
|
|
Новичок
Регистрация: 27.12.2006
Сообщений: 27
С нами:
10194899
Репутация:
30
|
|
Сообщение от Zedi
А зачем чем ютф лучше? Меня такой вопрос заинтересовал.
Нет гемора с данными в БД например, я часто встречаю что база и таблицы в кодировке latin1 а инфа там в cp1251 и потом хрен эту базу перекодируешь. А с php6 все функции будет возвращать даные в утф8 и поэтому надо к этому готовиться заранее, да и вообще утф8 это кодировка для всех языков в отличии от cp1251 либо latin1
|
|
|

22.08.2008, 16:43
|
|
Познающий
Регистрация: 01.08.2006
Сообщений: 35
С нами:
10409033
Репутация:
3
|
|
Вывожу значения так:
PHP код:
function array_icount_values($array)
{
$ret_array = array();
foreach($array as $value) $ret_array[strtolower($value)]++;
return $ret_array;
}
function cmp ($a, $b)
{
if ($a == $b) return 0;
return ($a > $b) ? -1 : 1;
}
$f = file('count.dat');
$x = array_icount_values($f);
arsort($x);
foreach($x as $xx => $y)
{
echo $xx.' - '.$y.'<br/>'."\r\n";
}
Нужно ограничить вывод 20-ю записями.
Пытался через unset();
PHP код:
for($i=0;$i <= count($x)-21;$i++){
unset($x[$i]);
}
Но ничего не происходит как буд-то он не видит ее.
Подскажите как еше можно убрать элементы в массиве после 20-го ( то есть на вывод должно выйти 20 элементов, остальные выводить не нужно).
Последний раз редактировалось [R]eD; 22.08.2008 в 16:47..
|
|
|

22.08.2008, 16:47
|
|
Новичок
Регистрация: 27.12.2006
Сообщений: 27
С нами:
10194899
Репутация:
30
|
|
Сообщение от [R]eD
[/php]
Подскажите как еше можно убрать элементы в массиве после 20-го ( то есть на вывод должно выйти 20 элементов, остальные выводить не нужно).
С 0 по 19 элемент просто бери и все
PHP код:
for($i=0;$i <= 19;$i++){
//...
|
|
|

22.08.2008, 17:17
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами:
9443906
Репутация:
3313
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PHP код:
$result = array_slice($array, 0, 20);
//http://www.php.su/functions/?array-slice
-------------------------------------------------------------
Последний раз редактировалось ChaaK; 22.08.2008 в 18:14..
|
|
|

22.08.2008, 17:18
|
|
Новичок
Регистрация: 27.12.2006
Сообщений: 27
С нами:
10194899
Репутация:
30
|
|
Можно завести переменную $i перед foreach и сделать условие в самом форичеке когда $i == 19 сделать break();
И не забывать в самом forech делать ++$i;
Если я верно понял то так 
|
|
|

22.08.2008, 17:35
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
С нами:
10160966
Репутация:
1719
|
|
disc,
http://ru.php.net/break
break ends execution of the current for, foreach, while, do-while or switch structure.
ChaaK, пример поконкретнее плз...
в конструкции if-elseif-...-else выполняется лишь вариант вообще.. немного непонятна суть вопроса.
|
|
|

22.08.2008, 17:56
|
|
Новичок
Регистрация: 27.12.2006
Сообщений: 27
С нами:
10194899
Репутация:
30
|
|
Сообщение от ChaaK
PHP код:
if(pregmatch('регулярка',$n,$n)){
$z = $n;
}elseif(is_int($n)){
$z = 'abc';
}elseif(pregmatch('регулярка',$n,$n)){
$z = '#fff';
}
Вообщем перезапись иногда случается. Нужно если условие подошло, дальше не проверять.
В этом случае как только 1 условие подойдет проверка дальше не пойдет. Ниче менять не надо
У тебя если иначе_если иначе_если
|
|
|

22.08.2008, 18:05
|
|
Новичок
Регистрация: 27.12.2006
Сообщений: 27
С нами:
10194899
Репутация:
30
|
|
Сообщение от ChaaK
у меня бывает совпадает несколько условий.
Приведи мне пример, но конструкция написана верно и такого не может быть.
|
|
|

22.08.2008, 18:13
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами:
9443906
Репутация:
3313
|
|
Сообщение от disc
Приведи мне пример, но конструкция написана верно и такого не может быть.
тут лажа была =) извините, просто одна регулярка былас скопипастена =)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|