次のような文字列の配列があります。
array
0 => string 'cheese=french'
1 => string 'pizza=large&cheese=french'
2 => string 'cheese=french&pizza=small'
3 => string 'cheese=italian'
配列内の文字列の各部分文字列 (& で分割) をアルファベット順に並べ替える必要があります。たとえば、「c」が「p」の前に来るため、「pizzeria=large&cheese=french」は「cheese=french&pizza=large」と逆にする必要があります。
次のように元の配列を分解できると思いました:
foreach ($urls as $url)
{
$exploded_urls[] = explode('&',$url);
}
array
0 => array
0 => string 'cheese=french'
1 => array
0 => string 'pizza=large'
1 => string 'cheese=french'
2 => array
0 => string 'cheese=french'
1 => string 'pizza=small'
3 => array
0 => string 'cheese=italian'
次に、次のように foreach ループで sort を使用します。
foreach($exploded_urls as $url_to_sort)
{
$sorted_urls[] = sort($url_to_sort);
}
しかし、これを行うと、次のように返されます。
array
0 => boolean true
1 => boolean true
2 => boolean true
3 => boolean true
4 => boolean true
まで:
14 => boolean true
私がこのようにすると:
foreach($exploded_urls as $url_to_sort)
{
sort($url_to_sort);
}
並べ替えられた配列の 1 つを取得します。
array
0 => string 'cheese=dutch'
1 => string 'pizza=small'
これについて正しい方法は何ですか?