2017-09-06 1 views
-1

Ich versuche, aus mehrdimensionales Array in Daten zu bekommen, ohne foreach ich versuchte, mit in_array() Funktion aber nicht, um Daten aus bestimmtem Index in mehrdimensionalen Arrays zu erhalten Verwendung von vielen foreach Schleifen zu vermeiden

arbeitete
$abc = array() 
in_array($abc , $private_job->cities) 

in_array() expects parameter 2 to be array, string given 

auf $private_job->cities mit bekam das folgende Ergebnis

Collection {#408 ▼ 
    #items: array:2 [▼ 
    0 => city {#416 ▼ 
     +wasRecentlyCreated: false 
     #attributes: array:2 [▼ 
     "id" => 7 
     "city_name" => "Gujranwala" 
    ] 

    } 
    1 => city {#417 ▼ 
     +wasRecentlyCreated: false 
     #attributes: array:2 [▶] 
     #original: array:4 [▼ 
     "id" => 4 
     "city_name" => "Islamabad" 
     "pivot_private_jobabd_id" => 53 
     "pivot_city_id" => 4 
     ] 

    } 
    ] 
} 

während ich interessiert bin

"id" => 7 
"id" => 4 
bekommen

in ein ein array

+0

$ array [0] [ 'id'] oder $ array [1] [ 'id'] – clearshot66

+0

was ist, wenn ich hatte 100 Datensätze @ clearshot66 –

+0

Dann müssen Sie ein verwenden, foreach oder eine for-Schleife gibt es keinen direkten Zugriff auf ein Array dynamisch ohne eines dieser beiden, es sei denn, Sie schreiben eine Funktion, um zu greifen, was ich Ihnen gerade gesagt habe und wieder, lief es mit einer Schleife irgendeiner Art. In_array funktioniert auch nur mit Single-Level-Arrays, nicht Multidimensional – clearshot66

Antwort

0
$result = $private_job->cities->map(function($data){ 
    return $data['id']; 
})->all(); 
Verwandte Themen