PHP заметки

Это просто страница с заметками, как говорится все подряд :)

Список опций командной строки - http://www.php.net/manual/ru/features.commandline.options.php :

$ php -r "echo PHP_INT_MAX;"

Выбираем нужную переменную (в мане Переменные переменные)

$zx = 123;
$_POST['x'] = 1;
echo ${'z'.$_POST['x']};

Выбираем нужную функцию

$isfunc = 'image'.$format;

@$isfunc($idest,$path_cache,$quality);

Проверяет, присутствует ли в массиве указанный ключ или индекс

array_key_exists('my_key', $in_array)

Находим имя файла - через последнее значение массива

$file_name = current(array_reverse(explode('/',dirname(__FILE__))));

Сравнение значений

Если значение переменной или значение ключа в массиве сравнивается со строкой - применяй сравнение ===, т.к. == не всегда работает правильно, например:

$foo = 0;
if($foo==='on'){ echo 1; }

в случае выше, если через == число сравнивается с строкой, то строка преобразовывается в число, поэтому нужно применять ===

$field_name = 'user_email';

$this->fields = array('user_email' => 1);

с if($this->fields[ $field_name ] == 'pf'){ echo 1; } - тоже сработает как и в примере выше

При сравнении даже строковых чисел с точкой, нужно сравнивать через оператор === потому что:

echo ('19.1'=='19.10')? true : false;// возвращает true

echo ('19.1'==date('j.n'))? true : false;// если j.n сейчас 19.10 - возвращает true

Если нужно строку превратить в число с запятой:

(float)str_replace(' ','', $found['2'][ $k ]);

Проверка на цифру в строке:

if(preg_match("/[0-9]+/", 'z1x')){
    echo 'в строке есть цифра';
}

Удаляем повторяющиеся БР:

preg_replace('/(?:<br[^>]*>\s*)+/i','<БР>', $article);

Удаляем повторящюиеся пробелы:

preg_replace('/[\s]{2,}/', ' ', $article);

Убираем множество повторяющихся B

$article = preg_replace('/(<b>){2,}/i', '<b>', $article);
$article = preg_replace('/(<\/b>){2,}/i', '</b>', $article);

еще про регулярки:

http://dreamhelg.ru/2010/02/15-regular-expression-for-web-developers/
http://php.spb.ru/php/regexp.html

Странные символы

// HEX-значение "c2" можно получить через dechex(ord(mb_substr($search,0,1))) а затем добавив к нему \x в итоге "\xc2"
// HEX-значение "A0" можно получить через javascript функцию escape(this.value) а затем добавив к нему \x в итоге "\xA0"
// для mysql SELECT CONV(ORD(SUBSTRING(description,1,1)),10,16) FROM table WHERE id=12345
$search = trim(str_replace("\xc2",' ',str_replace("\xA0",' ', $search)));// избавляем поисковую строку от возможных неправильных символов
$string = str_replace("\xC2\xA0"," ",$string);
SELECT REPLACE(description, '\xc2\xA0', ' ') FROM table WHERE id=12345

Оцени публикацию:
  • 1,5
Оценили человек: 1

Похожие статьи:

Справочники и учебники:


Комментарии посетителей:
  • А что это за символы xC2xA0 ???
    28 октября 2013, 08:30 коммент полезен : 0 # Im
Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Введите изображенные цифры:
Captcha
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2017 YaPro.Ru

Главная » Веб-мастеру » PHP »