сращивать массив по алфавиту после некоторой буквы

Я ищу решение, чтобы получить все слова (или цифры) из отсортированного массива ПОСЛЕ какой-либо буквы или цифры. То есть все страны после буквы К.

$countries = array(
'Luxembourg',
'Germany',
'France',
'Spain',
'Malta',
'Portugal',
'Italy',
'Switzerland',
'Netherlands',
'Belgium',
'Norway',
'Sweden',
'Finland',
'Poland',
'Lithuania',
'United Kingdom',
'Ireland',
'Iceland',
'Hungary',
'Greece',
'Georgia'
);

sort($countries);

Это вернет Бельгию, Финляндию, Францию, Грузию, Германию, Грецию, Венгрию, Исландию, Ирландию, Италию, Литву, Люксембург, Мальту, Нидерланды, Норвегию, …

Но я хочу только страны после буквы K: Литва, Люксембург, Мальта, Нидерланды, Норвегия, …

Есть идеи?

1

Решение

Использовать array_filter Функция отфильтровать вещи, которые вы не хотите.

$result = array_filter( $countries, function( $country ) {
return strtoupper($country{0}) > "K";
});
3

Другие решения

Вы можете сделать это:

$countries2 = array();
foreach ($countries as $country) {
if(strtoupper($country[0]) > "K") break;
$countries2[] = $country;
}
0

Я наконец-то нашел простое решение для склейки массива после любого разделителя. Даже если это не буква или цифра (например, «2013_12_03»). Просто вставьте требуемый разделитель в массив, затем упорядочите, затем склейте:

//dates array:
$dates = array(
'2014_12_01_2000_Jazz_Night',
'2014_12_13_2000_Appletowns_Christmas',
'2015_01_24_2000_Jazz_Night',
'2015_02_28_2000_Irish_Folk_Night',
'2015_04_25_2000_Cajun-Swamp-Night',
'2015_06_20_2000_Appeltowns_Summer_Session'
);

date_default_timezone_set('Europe/Berlin');//if needed
$today = date(Y."_".m."_".d);//2014_12_03 for delimiter (or any other)
$dates[] = $today;//add delimiter to array
sort($dates);//sort alphabetically (with your delimiter)$offset = array_search($today, $dates);//search position of delimiter
array_splice($dates, 0, $offset);//splice at delimiter
array_splice($dates, 0, 1);//delete delimiter
echo "<br>next date:<br>".$dates[0];//array after your unique delimiter

Надеюсь, что это поможет всем, кто хочет склеить естественно упорядоченный массив после чего-то.

0