Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I need to reOrder this array with one function.

From (My actual array):

array:2 [▼
  0 => array:2 [▼
    "way" => 0
    "period" => "MONTH"
  ]
  1 => array:2 [▼
    "way" => 1
    "period" => "3MONTHS"
  ]
]

To (I would like this array):

array:2 [▼
  0 => array:1 [▼
    "MONTH" => 0
  ]
  1 => array:1 [▼
    "3MONTHS" => 1
  ]
]

Can I do that with array_map() function?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
336 views
Welcome To Ask or Share your Answers For Others

1 Answer

You can simply use foreach instead like as

foreach($your_arr as &$v){
    $v = [$v["period"] => $v["way"]];
}
print_r($your_arr);

Or using array_map

$your_arr = array_map(function($v){ return [$v["period"] => $v["way"]]; },$your_arr);
print_r($your_arr);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...