12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
|
1 | |
Массив объектов19.03.2014, 15:45. Показов 3344. Ответов 37
Метки нет (Все метки)
Привет всем, мне нужно создать массив с названиями объектов. И удалять из него объекты при определенном условии. То есть есть класс apple, на основе которого создаются объекты, например $apple1, $apple2 и так далее. Каждый из объектов должен попасть в массив. И при выполнении условия, например $color = green, объект должен удаляться из массива.
0
|
19.03.2014, 15:45 | |
Ответы с готовыми решениями:
37
Массив объектов Jasmine. Имеется массив из N объектов , необходимо проверить, что какие-то M объектов входят в этот массив Передача объектов дочерних классов через массив объектов родительского класса в функцию Массив объектов базового класса, позволяющий работать с набором объектов — чтение, вывод |
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
|
||||||
19.03.2014, 16:16 | 2 | |||||
Сообщение было отмечено Maksimus1991 как решение
Решение
1
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
||||||
19.03.2014, 16:48 [ТС] | 3 | |||||
Спасибо большое, единственное можете пожалуйста пояснить некоторые строчки. Я не понял с функцией add, там указано:
И объясните еще пожалуйста, как из масива удалить именно тот элемент что будет соответствовать условию?
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
||||||
19.03.2014, 16:58 | 4 | |||||
Apple здесь выступает в качестве типа переменной.
Для удаления можно воспользоваться
0
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
|
19.03.2014, 17:02 [ТС] | 5 |
То есть это Apple указывает на класс? И выходит запятой там не нужно? Про unset знаю, но, как удалить из массива именно тот объект параметр (цвет), которого равен $color?
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
19.03.2014, 17:05 | 6 |
да, Apple указывает на класс. Насчет удаления, у вас будет массив $register, делаете цикл в котором проверяете ваше условие, и удаляете как обычный элемент массива
1
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
|
19.03.2014, 17:08 [ТС] | 7 |
Спасибо, надеюсь разберусь дальше)
0
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
19.03.2014, 17:14 | 8 |
синглтон. А если потребуется создать несколько экземпляров коллекций - для каждой свой класс создавать?
вообще-то велосипед - в SPL есть класс ArrayObject
0
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
||||||
20.03.2014, 10:38 [ТС] | 9 | |||||
Я все таки не понял функцию add. Она должна формировать массив из поступающих значений. Но мы ведь в эту функцию ничего не передаем. В параметрах указано (Apple $apple). Но в функцию-то ничего не приходит. И можно поподробнее про ArrayObject, может это проще окажется.
Добавлено через 1 час 27 минут Подскажите, а конструкция $this->_color обязательна? Или если я уже присвоил переменной $_color значение, в условии if можно использовать if($_color = '') без $this ? Добавлено через 35 минут Чтобы удалить определенный элемент массива, что нужно сделать? Мне нужно удалить яблоко, у которого скажем состояние съедено. Не вежно, как определить состояние. Допустим есть переменная $status, если она равна "Съедено", нужно удалить из массива тот объект у которого она равна этому значению. Добавлено через 14 часов 53 минуты Подскажите, не работает вторая строчка, пишет не правильный синтаксис ']'. И условие if тоже не работает, пишет syntax error, unexpected T_IF. Тело функции removeApples не заполнено пока, но это не важно.
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
||||||
20.03.2014, 10:43 | 10 | |||||
замените на
1
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
|
20.03.2014, 10:49 [ТС] | 11 |
Да, догадался))) А вот с if не пойму. Там дело даже не в условии. Такое ощущение, что где-то ; не хватает.
Добавлено через 3 минуты Может, кто еще подскажет про ArrayObject, я не совсем понял, этой функцией, получается можно заменить весь класс?
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
20.03.2014, 10:52 | 12 |
покажите, как объявляете status
0
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
||||||
20.03.2014, 11:02 [ТС] | 13 | |||||
Объявляется соответственно во втором классе apple. Но мне кажется тут в if не в условии проблема, там хоть 2 == 2 напиши, все равно выдает unexpected T_IF
Что самое интересное, если засунуть данный if в функцию, то все работает нормально.
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
20.03.2014, 11:07 | 14 |
ну конечно) у вас же есть класс, а у класса могут быть только методы или поля, следовательно вам нужно вставить ваш if в функцию, или вынести эту проверку за пределы класса
0
|
12 / 6 / 1
Регистрация: 17.01.2014
Сообщений: 135
|
|
20.03.2014, 11:09 [ТС] | 15 |
Ой, блин, ну я дурак))) Спасибо!)
0
|
V@D!k
|
20.03.2014, 11:11
#16
|
Не по теме: да я и сам что-то с утреца туплю немного :)
0
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
20.03.2014, 11:17 | 18 |
значит я немного попутал, у меня когда-то была такая проблемка, и мне сказали, что это зависит от версии
0
|
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
|
||||||
20.03.2014, 11:47 | 20 | |||||
как тебе и ответили, это тип переменной. Это, если честно, моя прихоть, люблю когда все точно. Использовать явное указание типа переменной - необязательно.
Сообщение от ads
Сообщение от ads
Прошу прощения, такая конструкция
Не по теме: блин, писал сообщение, а тут уже вторая страница появилась...
1
|
20.03.2014, 11:47 | |
20.03.2014, 11:47 | |
Помогаю со студенческими работами здесь
20
Масив объектов. Реализовать функцию, которая вернет новый массив объектов с полями id, name и avaragePrice. В общем как заменить в подборе объектов и так чтобы не сохранял в массив объектов а в лист? с# При инициализации массива объектов в одном методе, этот массив объектов не видно в других методах Где и как создать массив объектов, чтобы можно было получить доступ к методам этих объектов? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |