- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Массив такого типа:
{"1": {
"price": 25,
"title_en": "Name",
},
"2": {
"price": 32,
"title_en": "Name",
},
"3": {
"price": 25,
"title_en": "Name",
},
"4": {
"price": 17,
"title_en": "Name",
},
"4": {
"price": 25,
"title_en": "Name",
},
"5": {
"price": 85,
"title_en": "Name",
},
}
Как из него сделать новый массив, в котором будут только только объекты с ценой 25, что-бы получилось так:
{"1": {
"price": 25,
"title_en": "Name",
},
"3": {
"price": 25,
"title_en": "Name",
},
"5": {
"price": 25,
"title_en": "Name",
},
}
Это в одном текст файле?
В любой нормальном блокноте в 2-3 прохода.
1. каждый элемент в одну строку (удаление переносов после зпт. Последнюю можно вручную поправить ;))
2. Удаление строк, не содержащих "price": 25 (регулярки и/или предустановленные скрипты/макросы)
3. Если нужно - восстановление переносов.
Можно, конечно, и скриптом (ща кто-нить наверняка подгонит), но ИМХО лучше освоить подобные телодвижения и инструменты, чем каждый раз кодить.
В самом файле менять его не нужно. Нужно что-бы php скрипт делал из большого массива маленький и дальше работал с маленьким, там foreach раз 20 перезапускается. Хочется время выполнения скрипта уменьшить. А "price": 25 это для примера, там и 10 и 50 может быть.
print_r(array_filter($array1, function($el){ return $el['price']==25; }));Parse error: syntax error, unexpected T_FUNCTION
Parse error: syntax error, unexpected T_FUNCTION
Что-то у вас с синтаксисом не так, попробуйте отдельно:
http://pastebin.com/7VUZ5gcN
Parse error: syntax error, unexpected T_FUNCTION
Похоже ваша версия PHP не поддерживает анонимные lamda-функции. Просто вынесите описание функции из fllter_array() вверх и задайте ей имя:
{ "price": 25, "title_en": "Name" },
{ "price": 32, "title_en": "Name" },
{ "price": 25, "title_en": "Name" },
{ "price": 17, "title_en": "Name" },
{ "price": 25, "title_en": "Name" },
{ "price": 85, "title_en": "Name" }
]', true);
function Price($el) { return $el['price']==25; };
print_r(array_filter($array1, "Price"));
Видимо вот:
К сожалению, если используется старая версия PHP, вы получите сообщение об ошибке, вида: Parse error: syntax error, unexpected T_FUNCTION in … on line X
http://wmas.msk.ru/archives/php-anonymous-function
Так вот сам этот код и выдаёт ошибку.
Так вот сам этот код и выдаёт ошибку.
Старая версия вроде выяснили, тогда да, либо вы выносите анонимную функцию наружу, либо по старинке пробегаем по массиву и удаляем элементы / создаем новый массив. Анонимные функции появились в 5.3.0, сейчас уже 5.6, зачем такой старый PHP ?
зачем такой старый PHP ?
Среди сайтов есть сделанные на древних cms которые с новым PHP работать не хотят.
А как вместо числа вставить переменную?
Так не работает, а с числом работает.