Backward Multidimensional Array Search

Please help I have an Array Something like this.

Array(
    [0] => Array
        (
            [sub_for] => 0
            [id] => 1
            [name] => Parent Cat
            [children] => Array
                (
                    [0] => Array
                        (
                            [sub_for] => 33
                            [id] => 10
                            [name] => Sub Cat 1
                        )

                    [1] => Array
                        (
                            [sub_for] => 33
                            [id] => 11
                            [name] => Sub Cat 2
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [sub_for] => 34
                                            [id] => 19
                                            [name] => Sub Sub Cat 2.1
                                        )

                                    [1] => Array
                                        (
                                            [sub_for] => 34
                                            [id] => 20
                                            [name] => Sub Sub Cat 2.2
                                        )

                                )

                        )

                )

        )
)

For id 20 the output will be Sub Sub Cat 2.2 -> Sub Cat 2 -> Parent Cat