[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Нет гемора с данными в БД например, я часто встречаю что база и таблицы в кодировке latin1 а инфа там в cp1251 и потом хрен эту базу перекодируешь. А с php6 все функции будет возвращать даные в утф8 и поэтому надо к этому готовиться заранее, да и вообще утф8 это кодировка для всех языков в отличии от cp1251 либо latin1
     
  2. [R]eD

    [R]eD Elder - Старейшина

    Joined:
    1 Aug 2006
    Messages:
    72
    Likes Received:
    1
    Reputations:
    0
    Вывожу значения так:
    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;
    }

    $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 элементов, остальные выводить не нужно).
     
    #4902 [R]eD, 22 Aug 2008
    Last edited: 22 Aug 2008
  3. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    С 0 по 19 элемент просто бери и все
    PHP:
     for($i=0;$i <= 19;$i++){
    //...
     
  4. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    PHP:
    $result array_slice($array020);
    //http://www.php.su/functions/?array-slice
    -------------------------------------------------------------
     
    #4904 Chaak, 22 Aug 2008
    Last edited: 22 Aug 2008
  5. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Можно завести переменную $i перед foreach и сделать условие в самом форичеке когда $i == 19 сделать break();

    И не забывать в самом forech делать ++$i;

    Если я верно понял то так :)
     
    1 person likes this.
  6. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2

    Вроде как break() в этом помощник.
     
  7. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    disc,
    http://ru.php.net/break
    ChaaK, пример поконкретнее плз...
    в конструкции if-elseif-...-else выполняется лишь вариант вообще.. немного непонятна суть вопроса.
     
  8. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    В этом случае как только 1 условие подойдет проверка дальше не пойдет. Ниче менять не надо
    У тебя если иначе_если иначе_если
     
  9. disc

    disc Member

    Joined:
    27 Dec 2006
    Messages:
    26
    Likes Received:
    7
    Reputations:
    2
    Приведи мне пример, но конструкция написана верно и такого не может быть.
     
  10. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    тут лажа была =) извините, просто одна регулярка былас скопипастена =)
     
  11. SiemX

    SiemX New Member

    Joined:
    18 Aug 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    mktime неподжодит потомучто время не в уникс формате а просто секунды. Но я уже сделал
     
  12. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    чтобы было в уникс формате то функция time() если все таки понадобится
     
    1 person likes this.
  13. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    кто знает как мне сделать следующее:
    есть строка мне надо проверить её на наличие "левых" символов ну тоесть тех которые мне не нужны наверно такая же проверка есть на форумах и чатах на ники чтоб в нике нельзя было использовать допустим русские символы а были только английские и цифры....

    знаю что тут нада регулярки но я их не знаю поэтому прошу помощи...
    Зарание благодарю





    кому надо вот что нашел нашел:
    PHP:
    if (preg_match("/^[\x20-\x7E\xC0-\xFF]+$/i",$string))
       {
            
    //Строка имеет только печатаемые символы
       
    }
    else 
        {
            
    //Строка содержит непечатаемые символы
        
    }


    -------------------------------------------------------
    [​IMG] << переход на сервис
    On-line сервис восстановления паролей к md5() хешам
     
    _________________________
    #4913 KIR@PRO, 23 Aug 2008
    Last edited: 25 Aug 2008
  14. FrMn

    FrMn Elder - Старейшина

    Joined:
    8 Aug 2008
    Messages:
    51
    Likes Received:
    16
    Reputations:
    7
    строка $string должна состоять из одного или более символов принадлежащих диапазонам a-z A-Z 0-9 тогда OK
     
    1 person likes this.
  15. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    (.*?) или .+[
    //Первое это любые знаки в подвыражении
    //2 любые символы в строке.
     
    #4915 Chaak, 23 Aug 2008
    Last edited: 23 Aug 2008
    2 people like this.
  16. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    У меня вопрос может ине по php но всё же помогите...

    На вконтакте.ру меня интересует главный хеадер страницы. Тоесть панелька на ширину страницы с логотипом вконтакте.ру.

    Я вот посмотрел её и всё таки она непростая синяя
    полоска как у facebook.com

    Как мне делать подобные хеадеры, чтобы они были редки по цвету,сразу бросались в глаза, и главное какие эффекты использовать.

    Я пробовал сделать копию этого хеадера в Photoshop но ничего не получилось..
     
  17. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    На php дизайн не делается :)

    это простой градиентный прямоугольник с закругленными краями :)(градиент от центра к низу и к верху)

    стукни в асю покажу на видео как так делать
     
    #4917 Chaak, 23 Aug 2008
    Last edited: 23 Aug 2008
  18. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    А что там за цвет? Редкий какой-то!
     
  19. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    редких не бывает :)
    -----------------------------------------------

    Не вдупляю в чем проблема. Поставил в начале скрипта:
    PHP:
    error_reporting(E_ALL);
    set_time_limit(0);
    ignore_user_abort(1);
    в php.ini - max_execution_time - 40 секунд.

    Скрипт работает ровно 30 секунд, никаких ошибок не пишет. В чем может быть проблема? Уже измаился.
     
  20. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Попробуй
    Code:
    ini_set("max_execution_time", 0);
    Бывает, что работает, когда не пашет set_time_limit.
     
Thread Status:
Not open for further replies.