I'm having difficulty finding a good solution or a previous question for this since it's difficult to put into words, but I have a json object here:

```
{

    "type":"template",
    "customStyle":false,
    "preheaderVisible":true,
    "titleText":"Email Template",
    "mainBlocks":{
        "type":"blocks",
        "blocks":[
            {
                "type":"singleArticleBlock",
                "image":{
                    "type":"image",
                    "src":"/template/image/logo-large.png",
                    "url":"http://example.com/",
                    "alt":""
                },
                "longText":"\n <p>Far far away, behind the word mountains, far from the countries <a href=\"\">Vokalia and Consonantia</a>, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia.</p>\n ",
                "buttonLink":{
                    "type":"link",
                    "text":"BUTTON",
                    "url":"http://example.com/"
                }
            },
            {
                "type":"tripleArticleBlock",
                "leftImage":{
                    "type":"image",
                    "src":"/template/image/logo-small.png",
                    "url":"http://example.com/",
                    "alt":""
                },
                "leftLongText":"\n <p>Far far away, behind the word mountains, far from the countries <a href=\"\">Vokalia and Consonantia</a>, there live the blind texts. </p>\n ",
                "leftButtonLink":{
                    "type":"buttonLink",
                    "text":"BUTTON",
                    "url":"http://example.com/"
                },
                "middleImage":{
                    "type":"image",
                    "src":"/template/image/logo-small.png",
                    "url":"http://example.com/",
                    "alt":""
                },
                "middleLongText":"\n <p>Far far away, behind the word mountains, far from the countries <a href=\"\">Vokalia and Consonantia</a>, there live the blind texts. </p>\n ",
                "middleButtonLink":{
                    "type":"buttonLink",
                    "text":"BUTTON",
                    "url":"http://example.com/"
                },
                "rightImage":{
                    "type":"image",
                    "src":"",
                    "url":"http://example.com/",
                    "alt":""
                },
                "rightLongText":"\n <p>Far far away, behind the word mountains, far from the countries <a href=\"\">Vokalia and Consonantia</a>, there live the blind texts. </p>\n ",
                "rightButtonLink":{
                    "type":"buttonLink",
                    "text":"BUTTON",
                    "url":"http://example.com/"
                }
            },
        ]
    }
}

```

I need to get every `url` property, regardless of the nest depth or sub-object it's in. So it could be the url for an `image` or `leftButtonLink` and at any depth. I figured there's got to be an easy "give me all props called x" function. What's the most efficient way to do this in php?