- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
SEO-MAN, в php есть регулярные выражения, можно с их помощью привести ваши данные в нормльный вид, я выше писал уже цикл перебора, определитесь с символами которые надо удалить и что еще вам надо с ними сделать и напишите, помогу с регуляркой.
Так же регурярки есть в mysql.
Так у Вас в таблице в столбце user.username есть вообще такой набор символов "•" ?
Да, я об этом написал же.
ne0n91 - Огромное спасибо за регулярку в личке!
еще проблема.
$file_arr - массив с 5-10 именами, а в $uname - 1 имя.
for ($i = 0; $i < count ($file_arr); $i++) {
//if (strcmp($file_arr[$i],$uname)==0)
if ($file_arr[$i] == $uname)
{echo $uname." === ".$file_arr[$i]."<br><br>";}
else{echo $uname. " <<<>>>> ".$file_arr[$i] . "<br>";}
}
Не могу понять почему, но к примеру в массиве $file_arr есть Deja Vu, а сравнение не катит....
Deja Vu <<<>>>> Deja Vu
Но корректно работает только сравнение с последним эллементом массива $file_arr.
Для перебора массива я бы использовал foreach, удобнее:
if($val==$uname){
echo '"'.$val.'" === "'.$uname.'"<br>';
} else {
echo '"'.$val.'" <<>> "'.$uname.'"<br>';
}
}
Да цикл точно перебирается, вот почему-то значения $file_arr[$i],$uname неравны где они реально равны...
Вот к примеру $file_arr:
Amelia
Bella Donna
Вася
Deja Vu
Оля
И отображается верно только
Оля === Оля
Покажите больше кода, от обьявления массива и переменной uname до цикла.
$file_arr = file("text.txt");
$sql = mysql_query("SELECT * FROM `user` ....
while ($row = mysql_fetch_array($sql))
{
$uname = $row['username'];
for ($i = 0; $i < count ($file_arr); $i++) {
//if (strcmp($file_arr[$i],$uname)==0)
if ($file_arr[$i] === $uname) // ТУТ НЕ ВСЕГДА СРАБАТЫВАЕТ СРАВНЕНИЕ
{echo $uname." === ".$file_arr[$i]."<br><br>";}
else{echo $uname. " <<<>>>> ".$file_arr[$i] . "<br>";}
} ....
Может так подойдет, ищет значение в массиве, в случае удачи получает ключ, в случае неудачи получает false:
{
$key = array_search( $row['username'], $file_arr );
if( $key ){
echo $row['username']." === ".$file_arr[$key]."<br><br>";
} else {
echo "Не найдено соответствие ...<br>";
}
}
Нет не помогло. Почему-то строки только с последней записью совпадают...
Может если я беру с текстового файла построчно
$file_arr = file("text.txt");
то у строк кроме последней есть скрытый символ переноса строки?