я должен удалить некоторые объекты внутри моего действия перед отправкой данных в зренияPHP удалить объект внутри массива
Данные являются чем-то вроде этого:
'items' => [
(int) 0 => object(App\Model\Entity\Propriete) {
'id_propriete' => (int) 1,
// and other fields
'user' => object(App\Model\Entity\User) {
'id' => '1459436853',
//and other fields
},
'favorites' => [
(int) 0 => object(App\Model\Entity\Favorite) {
'id' => (int) 24,
'propriete_id' => (int) 1,
'user_id' => '1459438630',
'created' => object(Cake\I18n\FrozenDate) {
'time' => '2016-04-15T00:00:00+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'modified' => object(Cake\I18n\FrozenDate) {
'time' => '2016-04-15T00:00:00+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
},
},
(int) 1 => object(App\Model\Entity\Favorite) {
'id' => (int) 27,
'propriete_id' => (int) 1,
'user_id' => '1459436853',
,
'modified' => object(Cake\I18n\FrozenDate) {
'time' => '2016-04-18T00:00:00+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
},
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[invalid]' => [],
'[repository]' => 'Favorites'
},
(int) 2 => object(App\Model\Entity\Favorite) {
'id' => (int) 28,
'propriete_id' => (int) 1,
'user_id' => 'ae0dce23-584b-4907-b32e-1655d5e69e55',
}
],
}
]
избранное является array Я хочу удалить какой-либо конкретный объект внутри этого массива в соответствии с условием. Итак, что я пытался сделать:
foreach($proprietes as $ad){
foreach($ad->favorites as $favori)
if($favori->user_id !==$user['id']){
unset($favori);
}
}
Butit не работает, может ли кто-нибудь помочь?
Соберите элементы, которые вы не хотите удалять в новый массив. На данный момент вы переписываете исходный список –