お題はこちら
【 #ゆめみからの挑戦状 ★第5弾】
— 株式会社ゆめみ | YUMEMI (@yumemiinc) September 8, 2022
シリーズ初の PHP 問題です😎✨
【お題】
以下のぐちゃぐちゃな配列を期待されている形に整形して出力してください
【回答方法】https://t.co/rZguz6aKJX またはソースコードのスクリーンショットを引用 RT
【結果発表】
9/15(木)
【出題者】
まっぴー @mpyw pic.twitter.com/GSpE5Tekmp
ksort にオプション付けられるの知らんかった^^;
https://t.co/vOh902fJgkhttps://t.co/CTDjJGhtV9 pic.twitter.com/KLaRkC132n
— ロングもみあげガール推進部 (@kb10uy) September 8, 2022
パクったら4行 → 3行になった!
<?php
$in = [
['2nd' => 'two', 'four' => '4th'],
'three' => '3rd',
['one' => '1st'],
'10th' => 'ten',
['6th' => 'six'],
'5th' => 'five',
'seven' => '7th',
['fourteen' => '14th', '11th' => 'eleven'],
['8th' => 'eight'],
'thirteen' => '13th',
'12th' => 'twelve',
'nine' => '9th',
['15th' => 'fifteen'],
];
$ans = [
'1st' => 'one',
'2nd' => 'two',
'3rd' => 'three',
'4th' => 'four',
'5th' => 'five',
'6th' => 'six',
'7th' => 'seven',
'8th' => 'eight',
'9th' => 'nine',
'10th' => 'ten',
'11th' => 'eleven',
'12th' => 'twelve',
'13th' => 'thirteen',
'14th' => 'fourteen',
'15th' => 'fifteen',
];
preg_match_all('/"(\d{1,2}..)":"([^"]+?)"|"([^"]+?)":"(\d{1,2}..)"/', json_encode($in), $m);
$list = array_merge(array_combine(array_filter($m[1]), array_filter($m[2])), array_combine(array_filter($m[4]), array_filter($m[3])));
ksort($list, SORT_NUMERIC );
var_export($list === $ans);//true
4行が最小じゃね?って事だったんで多分最小w