0
    Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6111
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6122
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6151
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6162
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6223
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6114
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6123
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6223
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6251
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6262
                    [rank] => 1
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6114
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6122
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6312
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6322
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6331
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6343
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6351
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6362
                    [rank] => 1
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6111
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6122
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6141
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6151
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6162
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6312
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6322
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6331
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6343
                    [rank] => 1
                )

        )

    [4] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6114
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6123
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6134
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6311
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6322
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6332
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6342
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6351
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6362
                    [rank] => 1
                )

        )

    [5] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6111
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6122
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6134
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6223
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6251
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6261
                    [rank] => 1
                )

        )

    [6] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6111
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6121
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6223
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6251
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6262
                    [rank] => 1
                )

        )

    [7] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6221
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6312
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6323
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6331
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6343
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6351
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6361
                    [rank] => 1
                )

        )

    [8] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6111
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6122
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6131
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6142
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6151
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6161
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6312
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6322
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6331
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6343
                    [rank] => 1
                )

        )

    [9] => Array
        (
            [0] => Array
                (
                    [masteryId] => 6211
                    [rank] => 5
                )

            [1] => Array
                (
                    [masteryId] => 6223
                    [rank] => 1
                )

            [2] => Array
                (
                    [masteryId] => 6231
                    [rank] => 5
                )

            [3] => Array
                (
                    [masteryId] => 6241
                    [rank] => 1
                )

            [4] => Array
                (
                    [masteryId] => 6312
                    [rank] => 5
                )

            [5] => Array
                (
                    [masteryId] => 6322
                    [rank] => 1
                )

            [6] => Array
                (
                    [masteryId] => 6332
                    [rank] => 5
                )

            [7] => Array
                (
                    [masteryId] => 6343
                    [rank] => 1
                )

            [8] => Array
                (
                    [masteryId] => 6352
                    [rank] => 5
                )

            [9] => Array
                (
                    [masteryId] => 6363
                    [rank] => 1
                )

        )

)

How can i convert the array above to array below.

The array above has 9 arrays inside. And they have masteryId and ranks inside. I want to make them a string. masteryid xx rank ++ masteryid xx rank ....

    Array
(  
    [0] => 6111 xx 5 ++ 6122 xx 1 ++ 6131 xx 5 ++ 6142 xx 1 ....
    [1] => 6114 xx 5 ++ 6123 xx 1 ++ 6131 xx 5 ++ 6142 xx 1 ....
    ....
    [9] => 6221 xx 5 ++ 6223 xx 1 ++ 6231 xx 5 ++ ....
)

I am stuck with this code and i am trying to do this about 5 hours i couldnt do it so i came here.

4
  • You should really learn to wait for other answers. No offense to Youcef Moulahoum but that's probably one of the worst ways to do it. I would actually pick Matt Raines if it had any explanation. Commented Jun 10, 2016 at 21:30
  • If you ask a similar question again, please use var_export rather than print_r to include the sample data. The output of var_export is PHP code so that way we can just copy and paste it into a script to test with. Commented Jun 10, 2016 at 21:30
  • @MattRaines oh i didnt know that ill use this next time thanks for info Commented Jun 10, 2016 at 21:32
  • @AbraCadaver Aw, shucks, thanks! Commented Jun 10, 2016 at 21:48

2 Answers 2

4

Try this :

$output = array();

foreach($array as $value)
{
   $s = "";
   foreach($value as $v)
       $s .= $v['masteryId'].' xx '.$v['rank'].' ++ ';

   $output[] = rtrim($s,' ++ ');
}

I hope that will help you.

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you very much! :) Can you explain this code a little bit. I'll mark this answer as correct in 2 mins.
3

Magic one-liner:

array_walk($array,function(&$a){$a=array_reduce($a,function($b,$c){return($b?"$b ++ ":"")."$c[masteryId] xx $c[rank]";},"");});

This calls an anonymous function for each element in the outer array. Because of the & before $a a reference to the element is passed and we can modify it within the function.

The function then reduces each element in turn to a string by appending "$c[masteryId] xx $c[rank]" to the result of the previous reduction. The previous output, followed by " ++ " is only prepended if it exists (ie it isn't the first item in the subarray).

Here it is a bit more legibly, with some whitespace and some potentially clearer variable names :)

array_walk($array, function(&$subarray){
    $subarray = array_reduce($subarray, function($carry, $item){
        return ($carry ? "$carry ++ " : "") . "$item[masteryId] xx $item[rank]";
    }, "");
});

1 Comment

Wow! Its working thanks,what did u do there can u explain?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.