Kiar25
User-
Posts
91 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Kiar25
-
Насколько я понял проблему - нужно написать код который имитирует поиск по GOOGLE и Yandex? Если да, то это легко сделать используя сокет и регулярные выражения для поиска на страницах.
-
Trust ты можешь любое значение задавать для любой записи - это не важно. Можешь оставить 0 можешь написать all, это не имеет значения. Главное - это сделать обработчик твоей формы, который будет обрабатывать это значение и выводить нужный результат
-
Поподробней расскажи что ты хочешь сделать, а как у тебя поиск по одному id реализован?
-
Читайте внимательней - функции не для работы с XML а для работы с HTML Например DOMDocument->loadHTML() - что нужно сделать чтобы она заработала, подключил extensional php-dom_xml. Как написано в документации этот класс встроен в ядро РНР, что делать?
-
Хотел сделать парсер HTML кода используя DOM модель, но столкнулся с проблемой - не работает как заявлен встроенный класс DOMDocument и его свойства и методы. Может быть я не правильно что делал, подскажите кто работал или кто знает.
-
Для этого и писалось это все, чтобы немного дать понятия о классах новичкам. Тем более здесь показано как пользоваться статическими свойствами и методами. Здесь на форуме очень много людей ищут уже готовые решения и не хотят думать самостоятельно, может быть такие рубрики дадут тот толчек для людей хотящих научится писать самостоятельно, а не списывать и использовать чужие скрипты. Я уже много раз писал - нет предела совершенства. Одну и ту жу задачу можно решить многими спосабами, все зависит лишь только от знаний и фантазии человека, что впринципе эта рубрика и показала
-
PHP функции такой нет. Есть только программы типа cron или если ты делаешь это у себя дома - планировщик задач в Винде.
-
Прочел несколько раз - ничего не понял
-
Elendor - конечно это похвально сделать код и не парится, но number_format() - форматирует число флоат Что ты сделал - ты поставил точку отсчета и сделал его форматирование, и это полный бред. Что ты посчитал? Посмотри наверх там все и так в двух строчках и все просто, проще знака "-" ничего нет
-
a mnogie voobshe lubyat pisat' vot takuyu tarabanshinu, interesno eto kak nugno ponimat' kak russkiy ili english? Nu po krainey mere u programmi perevodchika ot takogo mozg uedet nadolgo
-
Ясно, спасибо Девятилап
-
А в чем она медленная, я думал что если использовать шаблон XSLT - не для обработки бизнес-логики, а для вывода готовой подготовленной информации, то проблем не будет?
-
Подскажите, кто сталкивался, кто делал, кто читал. Я хочу попробывать сделать сайт используя технологию XML/XSLT - какие плюсы и минусы у этой технологии? Интернет кипит от обсуждения положительных и отрицательных сторон этой технологии. Ваше мнение, и если кто знает хорошие мануалы на данную тему подкинте, буду признателен за любую помощь.
-
Спасибо homm - действительно интересный получился диалог, по крайней мере для меня. Я делал класс используя статический метод - чтобы обращаться к нему без создания объекта, что бы выиграть время. Интересная функция bcsub() - всегда считал что функция для работы с повышенной точностью должна быть в разы лучше чем простой "-" Как я понял, просмотрев полученные тобой данные, - и я прав отчасти и ты, поэтому жму твою руку... и удачи. Но с этой bcsub() - придется разобраться И все таки одного не могу понять <?php echo '<h3>Первый способ</h3>'; $start = microtime(true); sleep(3); echo microtime(true) - $start; // Выведет нечто такое - 2.9770121574402 echo '<h3>Второй способ</h3>'; include_once('speed.php'); Speed::start(); sleep(3); echo Speed::finish(); // Выведет нечто такое - 2.977125 echo '<h3>Третий способ</h3>'; $start = microtime(true); sleep(3); echo bcsub(microtime(true), $start, 10); // Выведет нечто такое - 2.9746000000 ?> Откуда берутся следующие цифры в первом случае? Если microtime(true) - выводит только число.ХХХХ - четыре знака после запятой
-
Да давайте разберемся, мне тоже стало интересно, что же это такое и кто же из нас прав. homm тебе 5 баллов за просчет моего кода, действительно молодец, я даже не задумывался что и откуда берется)) . Как говорится истина рождается в споре и в вине. Спор есть жаль у нас с тобой вина нет Это вообще что то непонятное так как microtime() - может вывести только - число.ХХХХХХ , до шести знаков после запятой. Микро -6 степень )) если вы забыли. А здесь прям homm у тебя получились атомные часы )) - я конечно понимаю что нанотехнологии сейчас модно, но не настолько же)). <?php echo '<h4>Первый способ</h4>'; /////////////////////////////////// include_once('speed.php'); Speed::start(); for($i=0; $i<8; $i++) { $x = pow(10, $i); for($k=0; $k < $x; $k++) { } echo 'время - '.Speed::finish()." - количество итераций - $x "; } echo '<hr>'; echo '<h4>Второй способ</h4>'; //////////////////////////////////// $start = microtime(true); for($i=0; $i<8; $i++) { $x = pow(10, $i); for($k=0; $k < $x; $k++) { } echo 'время - '.bcsub(microtime(true), $start, 6)." - количество итераций - $x "; } ?> Этот код выведет нечто такое: Как видно если количество итераций не велико то время будет 0 сек, что не может быть правдой (если использовать microtime(true) - как и говорил эта вариация этой функции выводит более округленный результат). Да при увеличении итераций, мой способ отстает от более простого собрата , но мне кажется это все мелочи (все таки 10 000 000 итераций это круто ). Может быть конечно это все и шум, только какой то он интересный
-
LOL ну ты выдал, может быть. Если такой умный предложи свое решение )) . Сравним результат. Читай выше - статья для новичков, где люди могут почерпнуть что то для себя новое, если ты все знаешь зачем читаешь, а тем более критикуешь )) . Если критикуешь то предложи более лучшее решение :cool: Посчитай скорость работы скрипта <?php echo 'Noob!'; // У меня получилось 0.000040 может это конечно и погрешность как ты говоришь) ?>
-
Не знаю уж от чего microtime(true) не возвращает микросекунды с точностью до 6 знака ( Поэтому приходиться извратом заниматься.
-
Это статья написана для тех кто только начал изучать PHP. Здесь будет рассказано, как профилировать свой код или если сказать по русски, как измерить скорость его работы. Задача - нужно перед началом работы кода поставить временную метку, и после окончания поставить временную метку. Посчитать разницу между конечной и начальной точкой отсчета и вывести результат. Поехали Для этого мы будем использовать функцию microtime() <?php echo microtime(); // Выведет что то наподобие этого - 0.48441300 1212042171 ?> По умолчанию эта функция выводит строку "микросекунды секунды". Для нашего измерения нам нужно поменять их местами, чтобы было "секунды.микросекунды". И сделать наш код универсальным для простого и приятного дальнейшего использования. Для этого сделаем класс с двумя методами start и finish, как не трудно догадаться это будет начальное и конечное наше измерение, причем метод finish будет показывать нам уже готовый результат. <?php // Создаем наш класс class Speed { // Создаем два свойства нашего класса static private $st; static private $fin; // Создаем метод, который ставит начальную точку и переводит ее к виду "сек.микросек" static public function start(){ $start_arr = explode(' ', microtime()); self::$st = $start_arr[1].substr($start_arr[0], 1); return self::$st; } // Создаем метод, который подсчитывает сколько прошло времени static public function finish(){ $finish_arr = explode(' ', microtime()); self::$fin = bcsub(($finish_arr[1].substr($finish_arr[0], 1)), self::$st, 6); return self::$fin; } } ?> Описание кода: $st - начальная точка отсчета $fin - конечная точка отсчета static - позволяет нам обращаться к членам класса без объявления объекта, используя оператор разрешения области видимости :: Если член класс объявляется static то обращаться к нему через префикс $this-> нельзя private - спецификатор доступа, который показывает что обращаться к члену класса можно только внутри класса. Для вывода этого свойства, так как оно private, будет отвечать метод класса. public - спецификатор доступа, который показывает что обращаться к члену класса можно вне класса, т.е любой созданный объект может обращаться к этому методу или свойству( public стоит по умолчанию и если написать просто function start() - она будет public) self:: - обращение к статическому члену класса microtime(), explode(), substr(), bcsub() - читайте здесь www.php.su Как использовать: Сохраняем под любым именем например speed.php <?php include_once('speed.php'); Speed::start(); // Ваш код echo ' '.Speed::finish(); ?> Теперь вы сможете узнать что быстрее for или foreach, а может быть while. Где лучше объявлять переменную вне цикла или внутри. Кто быстрее регулярные выражения или просто строковые функции PHP и т.д. Экспериментируйте
-
Моя вариация на эту тему <?php /* $pieces - количество выводимых цифр $min - от какой цифры мы берем рандом $max - до какой цифры мы берем рандом */ function numbers($pieces, $min, $max){ // Защита от дурака )) if(($max - $min) < $pieces) $pieces = $max - $min; // Создаем массив куда будем помещать наши цифры $arr = array(); // Наш цикл в котором мы выводим цифры // без повоторений while($pieces){ $number = mt_rand($min, $max); if(!in_array($number, $arr)) { echo "$number "; $arr[] = $number; } else { $pieces++; } $pieces--; } } numbers(5, 0, 100); // 5 цифр в интервале от 0 до 100 ?>
-
Колисниченко - маньяк Emm все правильно написал, сравни и запомни, что в программирование можно найти кучу способов решения одной проблемы, а вот найти самый оптимальный это уже мастерство.
-
Держи <?php $string = 'papka6/papka5/papka4/papka3/papaka2/papka1'; $string = substr($string, strripos($string, "/") + 1); echo $string; // Выведет papka1 ?> Можно сделать через регулярное выражение, но это дольше будет работать по времени
-
Бред!!! Нужно это все дело перенести на www.domohosyaika.ru
-
Для новичка довольно сложный урок вот - http://www.inattack.ru/article/320.html
-
Обычно берут готовые решения - почитай здесь http://www.phpbbguru.net/