0

Tendo 2 arrays unidos por una foranea...

a = [{'id'=>1, 'nombre'=>'pepito','estado'=>1},
     {'id'=>2, 'nombre'=>'marcos','estado'=>1},
     {'id'=>3, 'nombre'=>'juan','estado'=>2},
     {'id'=>4, 'nombre'=>'yiyio','estado'=>1},]

b = [{'id_a'=>2, 'nombre'=>'marcos'},
     {'id_a'=>1, 'nombre'=>'pedro'},
     {'id_a'=>4, 'nombre'=>'pepe'},
     {'id_a'=>3, 'nombre'=>'juan']

Lo que quiero, es recorrer el array a, ya sea con un for o foreach, y si el estado es 2 entonces, eliminar del array b, ese elemento...

foreach($a as $element){
  if($element->estado == 2){

       //Necesito buscar el indice de este registro pero en el array b, Usando el id_a
       
       unset($b[$index]);
   }
}

Pero no recuerdo como se hace para eliminar ese registro especifico...

3
  • elimina esas llaves de los arreglos, no creo que sean necesarias...
    – Luis
    Commented el 3 nov. 2022 a las 16:16
  • 1
    @Luis Esas llaves son objetos de hecho, solo que escritos como si fuera javascript. Creo que laravel lo llama colecciones, no estoy seguro. Es decir, son dos array de objetos. No es sintaxis correcta en PHP, esta claro, pero supongo que es para hacerse entender, pues en el bucle lo trata como objetos si te fijas.
    – masterguru
    Commented el 3 nov. 2022 a las 16:30
  • 1
    Yo de ti me miraria la cantidad de métodos que hay en laravel para tratar una colección, pues segun veo en este enlace hay muchísimos y alguno seguramente te servirá. Se puede hacer en PHP pero es un poco lioso pues implica hacer varios bucles, y si aprendes el uso de las colecciones y sus métodos te ahorrarás unas cuantas preguntas más por aquí que deberían ser propias de laravel y no de PHP puro.
    – masterguru
    Commented el 3 nov. 2022 a las 17:23

0

Examina otras preguntas con la etiqueta o formula tu propia pregunta.