Оптимзация кода

1. ZipeR (06.04.2010 / 16:29)
имеется такая конструкция
<?php  if (($a==1) || ($a==2) || ($a==3) || ($a==4)) echo "условие"; ?>
И подскажите плиз есть какие-нибудь функции для преобразования переменной double 8 байт и обратно из 8 байт в double ?

2. Удаленный (06.04.2010 / 16:36)
Забивай в array(); свои варианты,к примеру:
<?php 
$b=array("1","2","3","4"); 
if (in_array($a, $b)) ?> 
вот.
А по второму вопросу: Работа по бинарным строчкам: функция unpack() ну и функция pack() укажит тебе бинарную сирочку)

3. ZipeR (06.04.2010 / 16:40)
Саня спасибо,а как сделать антимат,ну запрещёные слова?smile

4. Удаленный (06.04.2010 / 16:42)
можно через регулярку,или через str_replace(); прописывать слова.

5. ZipeR (06.04.2010 / 16:45)
О_о а как через регулярку тогда?

6. Удаленный (07.04.2010 / 10:30)
Приведите пример мне тоже охото глянуть как сделать антимат а

7. Azzido (07.04.2010 / 10:36)
$mat1=array('нехорошее слово 1','нехорошее слово 2','нехорошее слово 3');
$mat2=array('хорошее слово 1','хорошее слово 2','хорошее слово 3');
$msg=str_replace($mat1,$mat2,$msg);
вот простейший антимат

8. Azzido (07.04.2010 / 10:38)
а вообще по теме, за ненужной оптимизацией гонишься, инициализация массива больше процессорного времени займет чем простое сравнение переменных, с оговоркой что пунктов сравнения не сильно много

9. Titov (07.04.2010 / 12:33)
5,6 антимат в полезных кусках кода есть, там вобще много чего есть, рекомендую посмотреть.

10. Удаленный (07.04.2010 / 14:23)
<?php 
$autochange = "mat.dat";// файл базы матов
    // функция замены слов
function auto ($path){
    global $autochange;
    $general = file ($autochange);
    if ( !empty ($general)){
        for ($ii=0; $ii < count ($general); $ii++){
            list ($aut3,$aut2) = explode ("::", $general[$ii]);
            $aut3_arr = preg_split ("//",$aut3);
            $content = '~';
            for ($iii=0; $iii < sizeof ($aut3_arr); $iii++){ $content .= $aut3_arr[$iii]."[ \r\n\t]*"; }
            $content .= '~is';
            if ( preg_match ($content,$path)){$path = preg_replace ($content,' '.$aut2.' ',$path); }
          }
      }
    return $path;
  } 
$path = auto ($path); 
?>
Пример размещения слов в файле
муда::*::
mуда::*::

Я вообще писал модуль,замены и добавки матов и прочей ахинеи типа рекламы прямо с скрипта,а вот строить редактированием файл это лишний геморрой.

11. Удаленный (07.04.2010 / 14:39)
True (Вчера / 16:36)
Забивай в array(); свои варианты,к примеру:
<?php 
$b=array("1","2","3","4"); 
if (in_array($a, $b)) ?> 
вот.
А по второму вопросу: Работа по бинарным строчкам: функция unpack() ну и функция pack() укажит тебе бинарную сирочку)
Скажите а что означает функция in_array() ?

12. Удаленный (07.04.2010 / 14:42)
http://php.su/functions/?in-array прочти

13. Удаленный (07.04.2010 / 14:45)
спс понял по поводу in_array()
Ещё вопрос код котрый ты написал в 10 посте выдаёт ошибку,исправь или что там sad

14. Удаленный (07.04.2010 / 14:52)
код полностью валидный в посте 10),создай отдельный файл к примеру filtr.php затем проинклудь в файл где выводятся сообщения.

15. Артур (07.04.2010 / 16:20)
Может я что то не понял, оптимальнее будет:
<?php
if ($a > 0 && $a < 5)
?>


16. Артур (07.04.2010 / 16:22)
"И подскажите плиз есть какие-нибудь функции для преобразования переменной double 8 байт и обратно из 8 байт в double ?" - если я не ошибаюсь, то double и так занимает 8 байт, зачем что то переводить?
(проверь на C++ - sizeof(double))

17. Удаленный (07.04.2010 / 17:03)
10, Если уж тема о оптимизации то етот код надо изминить
<?
for ($iii=0; $iii < sizeof ($aut3_arr); $iii++)
Gemoroj когдато говил что функция  sizeof ($aut3_arr); будет вызыватся при каждой интеграции. Сам не проверял но по логике машини
догадаться.

18. Удаленный (07.04.2010 / 17:09)
Всмысле не именно sizeof а например многие ставят count($arr)-1;

19. Azzido (07.04.2010 / 17:15)
Да, подсчет элементов массива будет происходить при каждой итерации,лучше вынести функцию из тела цикла

20. Удаленный (07.04.2010 / 17:24)
А воще как для меня лутче юзать while();
Он боле гибкий для циклов

21. Удаленный (07.04.2010 / 17:26)
Azzido (Сегодня / 16:15)
Да, подсчет элементов массива будет происходить при каждой итерации,лучше вынести функцию из тела цикла
Правильно итерации?

URL: https://visavi.net/topics/7874