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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reageer op dit topic...

×   Geplakt als RTF formaat tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

Log in om dit te volgen  

×
×
  • Nieuwe aanmaken...