Hoe filteren op array in een array?

Gestart doorAarclay1 reacties435 weergaven

2 berichten · pagina 1 van 1

Aarclay

Lid · Topicstarter

Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
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?
0
Aarclay

Lid · Topicstarter

Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Was gewoon een simpele in_array()
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren