grep -Fvx -f small.txt big.txt > result.txt
$h = array('a', 'b', 'f', 'r', 'b', 'v', 'r', 'b', 't', 'a');$n = array('a', 'b');$result = array_erase($n, $h);
function array_erase($needle, $haystack, $count = null){ if ($count === null) { $count = array_count($needle, $haystack); } if (!$count) { return $haystack; } $result = $haystack; foreach ($needle as $item) { $index = array_keys($result, $item); for ($i = 0; $i < $count; $i++) { unset($result[$index[$i]]); } } return $result;}
function array_count($needle, $haystack){ $count = INF; $array = array_count_values($haystack); foreach ($needle as $item) { if (!isset($array[$item])) { return 0; } $count = min($count, $array[$item]); } return (int) $count;}
Граждане, вы перегрелись.
Подсчёт делается элементарно
$h = array('a', 'b', 'f', 'r', 'b', 'v', 'r', 'b', 't', 'a');$n = array('a', 'b');$count = array_count($n, $h);
Самый простой вариант в случае строгого порядка следования элементов и перегретой на жаре головы - это собрать массив в строку (CSV или схожее если размер элементов динамический), после чего рассматривать полученное как строку, производя поиск и замену строковыми функциями.
$spessore = str_replace('\\', '\\\\', $spessore);
Вы безнадёжны.
Боги, да сайт же слоупок. И на морде крутится UTF-8, обрезанный побайтово с несчастным "�". Да и сам сайт родом из 2000-х. Да и кривое поделие рассыпается на глазах: http://nashost.net.ua/ru/nam-odin-mecaz/
Вы либо прикалываетесь, либо пытаетесь предоставлять услуги, в которых ни на сантиметр не смыслите.
Потому что mysqli_real_escape_string() принимает два параметра, первый из которых - соединение с базой. И это помимо того, что вам подсунули mysqli_* в мешанину mysql_*. Вы бы знали это если бы умели читать и не копировали в код функции, действий которых вы не знаете. Повторюсь: почитайте матчасть об экранировании, либо воспользуйтесь кодом, предоставленным выше.
$database = new database();$database->query("INSERT INTO pf_cache SELECT e.id eid, DATE_FORMAT(e.date,'%d.%m.%Y'), DATE_FORMAT(e.date_time,'%d.%m %H:%i'), e.name, e.descr_short, e.img, e.descr, e.guests, IF(eg.person_user_id,1,0), COUNT(pf.user_id), p.name, p.rating, p.address, p.types, co.en, IF(co.ru!='', co.ru, co.en), ci.en, IF(ci.ru!='', ci.ru, ci.en), IF(u.url!='',u.url,u.id) FROM `events` e LEFT JOIN events_guests eg ON (eg.event_id=e.id AND eg.person_user_id=123), places p, events_guests eg2, people_friends pf, countries co, cities ci, users u WHERE e.date_time>NOW() AND eg2.event_id = e.id AND pf.friend_user_id = eg2.person_user_id AND p.user_id=e.place_user_id AND p.city_id=777 AND ci.id=777 AND co.id=7 AND p.country_id=7 AND co.id=7 AND ci.id=p.city_id AND co.id=p.country_id AND ci.id=p.city_id AND u.id=p.user_id AND u.status=1 GROUP BY e.id ORDER BY e.date_time");
Не вижу совершенно никаких проблем. Особенно, если уделить те же пару минут немногочисленным сорцам и увидеть, что все *query() шаблонизаторы просто собирают SQL, который в итоге так или иначе всё равно окажется у database().
Ну так в чём проблема?
$result = array_combine(array_merge(array_keys($my_array2), array_values($my_array2)), array_values($my_array));
Выше - реализация CRUD на mysqli без тупых SQL инъекций. Почему не стоит юзать mysql_* написано в оф. документации, если вы удосужитесь взглянуть на неё.