PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
Kledt Отправлено: 28 Февраля, 2017 - 17:36:50 • Тема: Загвоздка при выводе из массива • Форум: Вопросы новичков

Ответов: 5
Просмотров: 294
Строитель пишет:
Kledt, а какую цель вы преследуете? Я так понимаю, что вам надо найти и удалить какое-то значение в массиве, и после - распечатать этот массив в браузере?


Да, именно так. Вообще свой пример упростил до одномерного массива для наглядности. Задача была найти в многомерном массиве значение (Имя) и вывести в браузер все производные этого Имени с приставкой "Фамилия", исключив при этом в выводе само искомое Имя.
Ваш код работает как надо. Всем спасибо.
Kledt Отправлено: 28 Февраля, 2017 - 16:50:14 • Тема: Загвоздка при выводе из массива • Форум: Вопросы новичков

Ответов: 5
Просмотров: 294
Sail, вот поменял метод вывода из массива. Если исключать любое имя из массива кроме 0 (Алексей), то отрабатывает как надо. Но опять же если исключать нулевой элемент (Алексей), то само значение теперь удаляется при выводе, но остается ненужное "Конюхов". Со всеми остальными элементами кроме нулевого - функция удаляет при выводе все значение "Имя+Конюхов", для этого и использую ссылку на элемент массива в заголовке цикла foreach.

PHP:
скопировать код в буфер обмена
  1. $out_data =  array("Алексей","Алексейка","Алёха","Лёха","Алёша","Лёша");
  2.  
  3. echo '<pre>'.print_r($out_data, true).'</pre>';
  4.  
  5. $key = 0; // Хотим исключить Алексей
  6. foreach ($out_data as $ke => &$value) {
  7.         unset($out_data[$key]);    // Исключаем из вывода результат с ключом 0
  8.         echo $out_data[$ke]." Конюхов<br>";  // Выводим все значинения из массива, исключив результат с ключом 0
  9. }


Результат:
Цитата:
Array
(
[0] => Алексей
[1] => Алексейка
[2] => Алёха
[3] => Лёха
[4] => Алёша
[5] => Лёша
)
Конюхов
Алексейка Конюхов
Алёха Конюхов
Лёха Конюхов
Алёша Конюхов
Лёша Конюхов
Kledt Отправлено: 28 Февраля, 2017 - 11:47:13 • Тема: Загвоздка при выводе из массива • Форум: Вопросы новичков

Ответов: 5
Просмотров: 294
Добрый день вот код ниже, срабатывает так как и должно: Выводит результаты из массива, исключив из результата то Имя, которое хотим исключить.
PHP:
скопировать код в буфер обмена
  1. $out_data =  array("Алексей","Алексейка","Алёха","Лёха","Алёша","Лёша");
  2.  
  3. echo '<pre>'.print_r($result, true).'</pre>'; // Выводим весь массив для наглядности
  4.  
  5. $key = 1; // Хотим исключить Алексейка
  6.  
  7. foreach ($out_data as $ke => &$value) {
  8.         unset($out_data[$key]);    // Исключаем из вывода результат с ключом 1
  9. echo $value." Конюхов<br>";  // Выводим все значения из массива, исключив результат с ключом 1
  10. }


Результат - Алексейка Конюхов исключен:
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Алексей
  3.     [1] => Алексейка
  4.     [2] => Алёха
  5.     [3] => Лёха
  6.     [4] => Алёша
  7.     [5] => Лёша
  8. )
  9. Алексей Конюхов
  10. Алёха Конюхов
  11. Лёха Конюхов
  12. Алёша Конюхов
  13. Лёша Конюхов


Но если мы хотим исключить самое первое значение, т.е. значение с ключом 0 (в данном случае Алексей), то вывод с исключением этой строки не срабатывает:

PHP:
скопировать код в буфер обмена
  1. $out_data =  array("Алексей","Алексейка","Алёха","Лёха","Алёша","Лёша");
  2.  
  3. echo '<pre>'.print_r($result, true).'</pre>'; // Выводим весь массив
  4.  
  5. $key = 0; // Хотим исключить Алексей
  6.  
  7. foreach ($out_data as $ke => &$value) {
  8.         unset($out_data[$key]);    // Исключаем из вывода результат с ключом 0
  9. echo $value." Конюхов<br>";  // Выводим все значинения из массива, исключив результат с ключом 0
  10. }


Результат - Алексей Конюхов НЕ исключился:
CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => Алексей
  3.     [1] => Алексейка
  4.     [2] => Алёха
  5.     [3] => Лёха
  6.     [4] => Алёша
  7.     [5] => Лёша
  8. )
  9. Алексей Конюхов
  10. Алексейка Конюхов
  11. Алёха Конюхов
  12. Лёха Конюхов
  13. Алёша Конюхов
  14. Лёша Конюхов


В чем загвоздка? Почему не исключается значение "Алексей Конюхов" во втором примере?
Kledt Отправлено: 25 Сентября, 2014 - 12:46:08 • Тема: Удаление из строки подстрок, заключенных в скобках. • Форум: Хранение данных, их вывод и обработка

Ответов: 2
Просмотров: 1194
Мелкий пишет:
preg_replace на пустую строку по указанной вами регулярке.

Действительно, спасибо.
Kledt Отправлено: 25 Сентября, 2014 - 12:24:17 • Тема: Удаление из строки подстрок, заключенных в скобках. • Форум: Хранение данных, их вывод и обработка

Ответов: 2
Просмотров: 1194
Добрый день,
необходим вывод упрощенного отображения строки user agent, так что бы исключалось то что заключено в скобки.
Пример трех user-agent(ов):
Цитата:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/36.0.1985.143 Safari/537.36
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)


Надо что бы в первом выводилось только:
Цитата:
Mozilla/5.0 Gecko/20100101 Firefox/25.0

Во втором:
Цитата:
Mozilla/5.0 AppleWebKit/537.36 Chrome/36.0.1985.143 Safari/537.36

В третьем:
Цитата:
Mozilla/4.0


В регулярных выражениях я не очень соображаю,
нашел такое:

Посмотреть - http://regex101[dot]com/r/cB8dI2/1
Но оно наоброт выделяет то что в скобах, и только первое совпадение.
Как доработать это выражение что бы оно работало для всех трех случаев и исключало все то что в скобках?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB