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?

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.