Ga naar inhoud
Log in om dit te volgen  
aarclay

Hoe filteren op array in een array?

Aanbevolen berichten

Ik heb momenteel deze code:

 

	<?php
header('Content-Type: application/json');
	
$content =  '[{"DateGPS":"n\/a","DateReceived":"n\/a","Longitude":6.0418997,"Latitude":51.42666,"Speed":0,"DOP":"n\/a","DOP_status":"n\/a","VehicleNumber":[9585,9581],"VehicleType":"Onbekend","TrainNumber":3575,"Source":"OBIS","Status":"n\/a"},
{"DateGPS":"n\/a","DateReceived":"n\/a","Longitude":5.281358,"Latitude":52.208084,"Speed":0,"DOP":"n\/a","DOP_status":"n\/a","VehicleNumber":[2425],"VehicleType":"NS SLT vier-delig","TrainNumber":5578,"Source":"OBIS","Status":"n\/a"},
{"DateGPS":"n\/a","DateReceived":"n\/a","Longitude":5.2100635,"Latitude":52.13158,"Speed":102,"DOP":"n\/a","DOP_status":"n\/a","VehicleNumber":[4232],"VehicleType":"NS ICMm vier-delig","TrainNumber":11781,"Source":"OBIS","Status":"n\/a"},
{"DateGPS":"n\/a","DateReceived":"n\/a","Longitude":4.467521,"Latitude":51.924637,"Speed":8,"DOP":"n\/a","DOP_status":"n\/a","VehicleNumber":[9571],"VehicleType":"Onbekend","TrainNumber":2272,"Source":"OBIS","Status":"n\/a"},
{"DateGPS":"n\/a","DateReceived":"n\/a","Longitude":6.098261,"Latitude":52.50184,"Speed":0,"DOP":"n\/a","DOP_status":"n\/a","VehicleNumber":[1757,7334],"VehicleType":"NS E-LOC 1700","TrainNumber":5657,"Source":"OBIS","Status":"n\/a"}]';
$array = json_decode($content, true);
	$resulted_array = array_values(array_filter($array,function($v){ return ($v['TrainNumber'] == '2272');}));
        if (count($resulted_array) == 1) // Als hij niet 1 is is het item niet gevonden...
        $resulted_array = $resulted_array[0];
        echo json_encode($resulted_array);
	

Dit werkt perfect, en ik kan hiermee dus filteren op het element waarin TrainNumber gelijk is aan 2272.
Echter wil ik graag filteren op één van de nummers die in de array VehicleNumber[] voorkomt. Hoe kan ik dat doen?

aangepast door aarclay

Deel dit bericht


Link naar bericht
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Maak een account aan in onze gemeenschap. Het is makkelijk!

Registreer een nieuw account

Aanmelden

Ben je al lid? Meld je hier aan.

Nu aanmelden
Log in om dit te volgen  

×