Рациональный парсинг JSON в PHP
Я хочу найти наиболее рациональный способ парсинга JSON в PHP.
К примеру, у меня есть данный array:
{
"response": {
"count": 254,
"items": [
{
"album_id": 136592355,
"date": 1525617677,
"id": 456317315,
"owner_id": 1,
"sizes": [
{
"height": 130,
"type": "m",
"width": 93,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=93x130&quality=96&sign=25840dcf9a57237ca0083d2f37151218&c_uniq_tag=U_3djTlFZEsWZj0mNQb_mUcxKGDGleSDROhOQVq4YCA&type=album"
},
{
"height": 182,
"type": "o",
"width": 130,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=130x182&quality=96&sign=194c357af456444813877f8f6bec415a&c_uniq_tag=Nbd8j4TtfPnIvrrJIAqH4YCwWcpzT81cwuJ0G_E3PnQ&type=album"
},
{
"height": 280,
"type": "p",
"width": 200,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=200x280&quality=96&sign=2beda67edd76f9ed26402b2918efa674&c_uniq_tag=X3WUcU8dG3RAPYn16qYFgmyk-An2tKbUXeLf9657nO4&type=album"
},
{
"height": 448,
"type": "q",
"width": 320,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=320x448&quality=96&sign=d7f7121f7b9b1b8fd5be57929a294172&c_uniq_tag=RPGFUCvQbO10ilzDbmif996s_UP2eSAxIGpnb8gIAQY&type=album"
},
{
"height": 714,
"type": "r",
"width": 510,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=510x714&quality=96&sign=1448b56618ef2f7d298ad7c8c164e58e&c_uniq_tag=1tKgre46e-UZGwr5k1La7VsLqigsC0uOm8ceMYbwyC0&type=album"
},
{
"height": 75,
"type": "s",
"width": 54,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=54x75&quality=96&sign=ab19e0a96214b0322dad1f5b755905c3&c_uniq_tag=hCYdPwoGo142KMD_5AwEdTnpHtz4e219ory4VVEXGiY&type=album"
},
{
"height": 2160,
"type": "w",
"width": 1542,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=1542x2160&quality=96&sign=fa901c0d7d0840caf9408613c1a7c748&c_uniq_tag=LHr5untkXk4x_aciMu4T2IBNo7irMpZlCAnEnAEA2q0&type=album"
},
{
"height": 604,
"type": "x",
"width": 431,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=431x604&quality=96&sign=0c1022ae6a5a72eac5093e68c00d706b&c_uniq_tag=Hu6BFUhQen1i4O7OdYiJPj3ZEqgR96u2YhcSrmc0GDM&type=album"
},
{
"height": 807,
"type": "y",
"width": 576,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=576x807&quality=96&sign=dba71203afe7f0991ce093963d9a2733&c_uniq_tag=UPAVD1v4G--Vuef0G0GGqwotKcYhin_kdDL4HzYZVgM&type=album"
},
{
"height": 1080,
"type": "z",
"width": 771,
"url": "https://sun9-79.userapi.com/impf/rD7Ugfhcf7bKIJ4-d8l8I-RkaTwVN-IRoxt9sg/heuH_mKDOcY.jpg?size=771x1080&quality=96&sign=081954f67c15e03ffdfe34f3673040f1&c_uniq_tag=6NcO4EJFHWezJx-5YYP78qVl0ULkpH4ec_eQFghoSBI&type=album"
}
],
"text": "",
"has_tags": false
},
{
"album_id": 136592355,
"date": 1525188135,
"id": 456316251,
"owner_id": 1,
"sizes": [
{
"height": 65,
"type": "m",
"width": 130,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=130x65&quality=96&sign=fede3b8790b0fca4efcd091f37954000&c_uniq_tag=qtVBxMeog_-g8EppDEfE6arzHLAntVo8irWkGzrI4G0&type=album"
},
{
"height": 87,
"type": "o",
"width": 130,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=130x87&quality=96&crop=253,0,1494,1000&sign=19d5a3bbe414e842d2ebdf4d2be9c0d4&c_uniq_tag=o80KE15kQ-KZw5_hDVDC4Rwj_hnUds2BLgA1JaE92NU&type=album"
},
{
"height": 133,
"type": "p",
"width": 200,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=200x133&quality=96&crop=248,0,1504,1000&sign=b7e628ee9276f48353a5937f488c99ea&c_uniq_tag=QVlgb1lu817EnO6b6hiUgNxYV4qD5JRIdGC3ahrNrvs&type=album"
},
{
"height": 213,
"type": "q",
"width": 320,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=320x213&quality=96&crop=249,0,1502,1000&sign=00e3a14433561146d8d68fbc847c1482&c_uniq_tag=4zCBYq3cNLvu4fkbIWinvi-q1FcujCrnYnXEif2n5WQ&type=album"
},
{
"height": 340,
"type": "r",
"width": 510,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=510x340&quality=96&crop=250,0,1500,1000&sign=a0e35670dcf22f0f9540359ba89c08c0&c_uniq_tag=vA_N9phQo7fQw2ciFfmjF3a95N9RJOq5F0bBZ08wXZc&type=album"
},
{
"height": 37,
"type": "s",
"width": 75,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=75x37&quality=96&sign=671064fb7acb882411e7c0226505af85&c_uniq_tag=4Cx-S7aK9HDMp5rXzRBaqqxn0D1KkX8mB_xQdPpH4iM&type=album"
},
{
"height": 1000,
"type": "w",
"width": 2000,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=2000x1000&quality=96&sign=facdf2117da4a44229c56a4ed69069b3&c_uniq_tag=xwBfpUO_MWGKcktD3HXcyhCvnhlKiHBl6TaIXV2oXW8&type=album"
},
{
"height": 302,
"type": "x",
"width": 604,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=604x302&quality=96&sign=d6cb89cea1b40ae45046c248e2c41bef&c_uniq_tag=6Z3KGzuuOc4huDIoDh8MwuRxgrhJ0c4GDhOMxCmGj9Y&type=album"
},
{
"height": 403,
"type": "y",
"width": 807,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=807x403&quality=96&sign=1597306a368ccaadf776ad81f9b4b770&c_uniq_tag=2a93leFt5CKLHzVN_aO4udEnejtRIBEHQPldFO9NoHg&type=album"
},
{
"height": 640,
"type": "z",
"width": 1280,
"url": "https://sun9-15.userapi.com/impf/c830408/v830408095/e9b55/VSGEsuDKwUE.jpg?size=1280x640&quality=96&sign=073fa390aaa25fc7efc3d1ddb3605c10&c_uniq_tag=Q3AO0UPlt9CQKCqbPPCTzbej_xkWJHnwJskZmpXapG4&type=album"
}
],
"text": "",
"has_tags": false
}
]
}
}
Мне нужен код, который будет выводить все url с "type" : "m", но так чтобы этот код не выглядел как:
foreach(){
foreach(){
foreach(){
foreach(){
foreach(){
}
}
}
}
}
А чтобы это была универсальная функция, которая искала бы в array указанный объект без кучи циклов и огромного количества постоянно повторяющегося кода для каждого запроса...
Источник: Stack Overflow на русском