if ($stmt - > execute()) {
if ($stmt - > rowCount() > 0) {
while ($selected_row = $stmt - > fetch(PDO::FETCH_ASSOC)) {
echo ucwords($selected_row[$name]).
" ";
$basicinfo1[] = $selected_row[$name];
}
$input = array_map("unserialize", array_unique(array_map("serialize", $basicinfo1)));
echo json_encode($input, JSON_UNESCAPED_UNICODE);
//echo $_GET['callback'] . '('.json_encode($basicinfo1).')';
}
}
回声结果
JEHOMAR MARIA JAMAICA MARIO MARIEGRACE MARIO MARY ANNE MARILYN MARIA CHRISTINA MARIE GRACE MARBIE MARIA JASMIN MARY JANE MARCIANA LEO MARCCO MARGOT MARIA CRISTINA MARIA TERESA MARK ANTHONY MARK ANA MARIE RALPH MARLON MARIANNE JOEMAR MARITES SHIELA MARIE MARIBETH MARIVIC MARIAN MARCELINO ALMEN MARTIN MARK SUNNY MARLOU MARY JANE MARIA RIA ELMAR MARILYN MARGARITA MARIELA MARJORIE ANNE MARTIN MARIONITO JHOMAR MARIA LUISA MARIE KRISTINE MARY ANN MARCELO MARGIE MARIO CHARL-MARI GEMARIE MARIO JOEMAR MARIA LENIE MARILOU MARILOU MARJORIE MARIA PAZ JOSE MARIE MARYCRIS MARVIN MARY FRANCESS JOURIEMAR MARIE Rose MARY JANE ROSEMARIE MARILYN MARIE-MONIQUE MARIANETH MARIBEL MARICEL MARILYN MARK ANTHONY MARVIN LOEWEN MARK MARVEL MARIANO MARTE JOVEMAR MARIBETH MARIVER MARTE MARILOU EDDIMAR MARIO MARISSA MARITES MARLYN MARWIN MARIETTA MARY ANN MARIVI MARYJANE ANNA MARIA EMMAR MARIO MARITES MARK VINCENT MARILYN MARIBEL MARICEL MARISSA MARK ANTHONY MARK KNEP MARK REGGIE
在此代码中,我尝试使用ucwords
更改名称的第一个字母,然后选择行($selected_row[$name])
,但回显显示名称没有变化。还是大写字母。是否还有其他方法可以在第一个字母的大写字母中更改单词
答案 0 :(得分:1)
尝试 -
ucwords(strtolower($selected_row[$name]))
ucwords
只会改变第一个字母,但不会照顾其余的字母。因此,首先strtolower
将其转换为小写,然后转换为ucwords
以将第一个字母转换为大写字母。
答案 1 :(得分:0)
如果你不使用ascii(你应该),使用mb_
函数来处理UTF-8字符集是很有用的。如果您在数据库中有外来名称,则会出现这种情况。
尝试
mb_convert_case($selected_row[$name], MB_CASE_TITLE, "UTF-8");
MB_CASE_TITLE将所有单词放在小写字母中,但第一个字母用大写字母表示。与ucwords(strtolower(...))
相比,这是一次调用,它处理UTF-8字符。
了解两种方法差异的一个例子:
$str = "Hello guys! I'm émile ÉÀ!";
echo ucwords(strtolower($str));
echo '<br />';
echo mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
输出
大家好!我émileÉÀ!
大家好!我是ÉmileÉà!
在第一种情况下,strtolower
不会将大写的重音字母转换为小写字母(最后一个字母仍然是À而不是à)。并且uwords
并没有将émile的é大写。在mb_convert_case
的第二种情况下,这是正确处理的。