За последние 24 часа нас посетили 17519 программистов и 1719 роботов. Сейчас ищут 1689 программистов ...

Помогите начинающему

Тема в разделе "PHP для новичков", создана пользователем SkifSilver, 5 апр 2007.

  1. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    не я это сказал, но почему нет?
    придирки. ну допиши getVar(...,$key34,$key35...)
    настолько большой вложенности не будет.
    максимум что попадалось
    Код (Text):
    1. id="street_id_cl4" name="clients[11254][adr][5628][adr_street][new]"
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    много лишних телодвижений :( к тому же, насколько я помню, первоначально речь шла об упрощении работы с GET, POST в частности уйти от необходимости помнить где находится переменная. Само сабой, что при такой задаче захочется добавить и работу с $_SERVER, $_SESSION и $_COOKIE. А при создании разных объектов первоначальная задача сводится на ноль :(
    неа, и в мыслях не было :D
    да ну?
    что мне мешает создать массив, содержащий узлы дерева? Опять не реально? :) Генеалогическое дерево в качестве примера :)
     
  3. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    тогда принимать keys[=array()] или рисовать обход дерева, это уже не общий случай.

    упрощение доступа к $_POST? куда уж проще.
    если речь о полном переборе, то автору хватит foreach или list, другие задачи сначала поставить надо.
    а запретить напрямую лазать немытыми руками в $_POST жизненно необходимо, для того и нужен класс.
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а по-моему, говорили про универсальность ;)
     
  5. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    абсолютная универсальность - это километры кода.
    пример есть, улучшить всегда можно.
    В общем, общаться неприятно, если у собеседника позитивной цели нет.
     
  6. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    опять всё свелось к банальному «да пошёл ты...». Абыдна, да?
     
  7. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    Помогите!

    PHP:
    1. <?php
    2. $A = array("audi","merc",'toyota','honda','ren');
    3. array_splice($A,1,count($A),"BMW");
    4. print_R($A);?>
    PHP:
    1. <?php
    2. $a = array("a", 'b', 'c', 'd', 'e', 'f');
    3. $c = array('z', 'x', 'y', 'v', 'w', 'q');
    4. $b = array_splice($a,1,count($a),$c);?>
    print_R($b);

    если убрать $b=
    print_R($a);

    то все работает.

    Как доавить в массив $b?
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    cpuuuh
    а ты в мануал не заглядывал?
    в $b у тебя как раз удалённые элементы, а все изменения происходят с $a
     
  9. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    <?php
    $w = array(1,2,3,4,5,6,7);
    extract($w,EXTR_PREFIX_ALL,"d_");
    EXTR_PREFIX_ALL
    echo $d_1;
    ?>

    поясните пожалуста никогда не юзал.
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    после EXTR_PREFIX_ALL знака ; не хватает...
     
  11. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    пишет что переменная d_1 неопределена. Но ведь массив с числовыми индексами значит индекс 1 должен соединится с префиксом d_ и все должно работать.
     
  12. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    я приведу один код с двумя вариантами
    в текущем варианте у меня почемуто не выводится напротив папок надпись folder
    код взят из книги
    в варианте с scandir надпись folder работает в чем проблема?

    PHP:
    1. <?php
    2. exec("dir", $files);
    3. #$dir = 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs';
    4. #$files = scandir($dir);
    5. /*echo "<pre>";
    6. print_r($files);
    7. echo "</pre>";*/
    8. function cmp($el1,$el2)
    9. {
    10.         if(is_dir($el1) && !is_dir($el2)) return -1;
    11.         if(!is_dir($el1) && is_dir($el2)) return 1;
    12.         if($el1>$el2) return 1;
    13.         else return 0;
    14. }
    15.  
    16. foreach($files as $f)
    17. if(is_dir($f)) echo "folder $f";
    18. else echo "<br> file $f";
    19.  
    20. ?>
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    cpuuuh
    а с коих пор dir возвращает только список файлов и директорий ?
    посмотри что находится в $files после exec("dir", $files);
    лучше с readdir побалуйся
     
  14. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
  15. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    то есть мануал читать лень
     
  16. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    тогда уж и closedir() ;)
     
  17. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    было такое подозрение.

    В оригинале книги было exec("ls -l",$files);
    но т.к. я в ХР я заменил ее dir-ом

    Вообще код должен отсортировать так сначало директории потом файлы. У меня это не получилось.
     
  18. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    никто тебе не даст выполнять exec() на нормальных хостингах.
     
  19. cpuuuh

    cpuuuh Активный пользователь

    С нами с:
    4 апр 2007
    Сообщения:
    88
    Симпатии:
    0
    У себя дома, пример из книги.