The best way to filter 315 pieces of data

The best way to filter 315 pieces of data

I have some tables with 315 unique prices which can be filtered by Thickness, Size, Color, Quantity - I am looking to just return the price based up user form selections.

At first I thought about creating 315 items in an array like this and filtering using grep()... but now I'm wondering if this is the best method....

{"data":
[
{'th':'5','dm':'1','col':'1','quan':'50','price':'4.07'},
{'th':'5','dm':'1','col':'1','quan':'100','price':'2.18'},
{'th':'1','dm':'1','col':'2','quan':'50','price':'4.92'},
{'th':'1','dm':'1','col':'2','quan':'100','price':'2.60'},
{'th':'2','dm':'4','col':'3','quan':'50','price':'4.92'},
{'th':'2','dm':'4','col':'3','quan':'100','price':'2.60'}
etc....
]
}

I'm still working on my method, but if there is any easier way to handle something like this, please let me know :)