|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||||||||||
Проверить соседние значения многомерного массива на соответствие условию15.01.2021, 20:54. Показов 1411. Ответов 12
Метки нет (Все метки)
Доброго времени суток. Проверить чему равно одно значение массива просто. Понимаю как проверить соседние справа и слева значения. Но как проверить сверху и снизу? Попробую пояснить задачу на следующем примере. Есть многоуровневый массив типа:
Можно проверить чему равно каждое значение этого массива напр так:
Можно было бы использовать array_key_exists но эта функция работает только в одномерном. Пробовал использовать var_dump(array_key_exists() но тоже полностью не получается.
0
|
|||||||||||
| 15.01.2021, 20:54 | |
|
Ответы с готовыми решениями:
12
Проверка значения на соответствие условию и подстановка значения Прибавить к дате количество дней и проверить результат на соответствие условию |
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
| 15.01.2021, 21:32 | |
|
Есть массив $img. Есть два индекса $key и $keyVal. Вокруг него будут $img[$key + 1][$keyVal] $img[$key - 1][$keyVal] $img[$key1][$keyVal + 1] $img[$key][$keyVal - 1], при условии что каждый индекс не выходит за пределы диапозона. Можно проверять индексы как на принадлежность диапозону, так и с помощью array_key_exists
0
|
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 15.01.2021, 21:39 | |
|
Варианты:
1) Если индексы числовые, то это просто +-1 что влево/вправо, что верх/вниз с проверках выхода из диапазона. Через for возможно красивее получиться. 2) Если индексы строковые, то можно завести дополнительные переменные, где будешь хранить предыдущие индексы. 3) Создать дополнительные два массива, которые будут хранить индексы исходных массивов. По этим массивам можно пробегаться циклом, легко делать +-1 сдвиги и получать индексы в исходных массивах.
0
|
|
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||||||||
| 15.01.2021, 22:06 [ТС] | |||||||||
Добавлено через 3 минуты Добавлено через 3 минуты Да, и проверять нужно на равенство значения 1 или 0
0
|
|||||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 15.01.2021, 22:14 | ||||||
1
|
||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||||||||
| 16.01.2021, 01:27 [ТС] | ||||||||||||
0
|
||||||||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 16.01.2021, 02:01 | ||||||
И по хорошему бы использовать for, чтоб боковые элементы не проверять
2
|
||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 16.01.2021, 02:07 | ||||||
|
Исправленный вариант
1
|
||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
|||
| 16.01.2021, 08:09 [ТС] | |||
|
https://ideone.com/qblFmZ
0
|
|||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||
| 16.01.2021, 12:15 | ||
|
Чуть поправил код, сделал нормальные индексы и в условиях числа заменил на строки https://ideone.com/79tWvK Во-вторых во входных данных виден квадрат из нулей. Если и его тоже надо заменить, то мой код этого делать не будет. Это уже более сложная задача.
1
|
||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||
| 16.01.2021, 14:48 [ТС] | ||||||
|
Понимаю, что в таком виде пока менять не будет. Но надеюсь по аналогии усложнить и добиться замены крайних. Есть ещё третья задача - находить дырки в таких квадратах/фигурах ))) Были мысли проверять это через массив. Создавать новый "квадратный" массив с максимальным "ребром" максимального вложенного массива или count "квадрата" и в нем аналогичным образом проверять, но уже для единиц. Может каким-то другим способом. Добавлено через 8 минут В спешке не дописал: максимального вложенного массива или count "квадрата" - имеется ввиду, что квадрата из нулей Добавлено через 22 минуты Думаю алгоритм правильный, а вот реализация пока страдает.
0
|
||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||||||||||||
| 17.01.2021, 11:59 [ТС] | ||||||||||||
https://ideone.com/MsfPpF
0
|
||||||||||||
|
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
|
||
| 18.01.2021, 01:55 [ТС] | ||
|
https://ideone.com/9RwYss Не могу придумать как объединить в массив единицы внутри фигуры из нулей.
0
|
||
| 18.01.2021, 01:55 | |
|
Помогаю со студенческими работами здесь
13
Вывод по условию из многомерного массива Проверка каждого элемента массива, на соответствие условию Бинарные деревья. Проверить на соответствие значения узлов дерева членам арифметической прогрессии
Как получить нужные значения из многомерного массива? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|