#loops #query-string
#циклы #строка запроса
Вопрос:
Я хочу получить последний шанс запятой (,) в стране $. Но как мне это сделать?
foreach ($countries as $country) {
$country_id = $country['ID'];
$country = get_the_title().", "; //comma
echo "<pre>";var_dump($country);echo "</pre>";
//string(6) "Taiwan, "
//string(8) "Tanzania, "
//string(14) "United Kingdom, "
echo rtrim($country,", "); //Works not: Taiwan, Tanzania, United Kingdom,
echo substr($country, 0, strlen($country)-1); //Works not: Taiwan, Tanzania, United Kingdom,
echo substr($country, 0, -1); //Works not: Taiwan, Tanzania, United Kingdom,
echo implode(", ", $country); //Works not: Warning: implode(): Invalid arguments passed
echo $country[-1] = PHP_EOL; //Works not: (empty)
echo substr($country, -1); //Works not: (empty)
echo substr(trim($country), 0, -1); //Works not: Taiwan Tanzania United Kingdom
echo str_replace(', ', '', $country); //Works not: TaiwanTanzaniaUnited Kingdom
echo str_replace('', ', ', $country); //Works not: Taiwan, Tanzania, United Kingdom,
}
Я хочу установить все, (запятую), кроме последней. Я должен перейти на Тайвань, Танзанию, Соединенное Королевство или Тайвань Танзания Соединенное Королевство. Но я предпочитаю Тайвань, Танзанию, Великобританию.
Любая помощь?
Ответ №1:
Попробуйте это
$c=0;
foreach ($countries as $country) {
$country_id = $country['ID'];
$country = get_the_title();
// Add comma only if it is NOT the last $country
if (count($countries)-1 != $c) $country .= ", ";
// display it
echo $country;
$c ;
}
или
$c='';
foreach ($countries as $country) {
$country_id = $country['ID'];
$c .= get_the_title().", "; //comma
}
// remove comma from last country and display it
echo rtrim($c,", ");