我有一个包含以下键/值的数组:
名字、姓氏、员工编号、位置
我需要将 FirstName 和 LastName 中包含的值全部转换为大写。
我试过使用
array_map('strtoupper', $myARR);
但我得到这个错误:
Warning: strtoupper() expects parameter 1 to be string, array given in
我认为这是因为员工编号是数字,所以它会因为数字不是字符串而出错?我不知道我还能尝试什么来尝试这个。原因是我将两个数组合二为一。来自数据库的阵列之一是全部 UPPER,而另一个则不是。这导致我无法正确排序数组,因为它没有将 BROWN 和 Brown 视为相同的值。如果我对这五个名字进行排序:
BATMAN CHARLES BYRON Carl Bill
结果是这样的
BATMAN
BYRON
Bill
CHARLES
Carl
如果我可以让 ucfirst 值全部为 UPPER,那么排序将正常工作(因为表中只有 ucfirst 的一个值是 2 个字母的昵称(AJ),并且它与其他全部为 UPPER 的数据正确排序) .
关于如何让数组的这两个部分的值变为 UPPER 的任何想法?任何帮助将不胜感激。
编辑
以下是从数组中提取的一些数据:
第一个字母大写的数组部分
[59] => Array (
[0] => First
[1] => Last
[2] => 123456
[3] => Location )
所有字母大写的数组部分
[1116] => Array (
[0] => FIRST
[1] => LAST
[2] => 123456
[3] => Location )
我不能将实际值放在网站上,但基本上数组中所有人的值都会改变。但至少这应该显示数组中的每个元素看起来是大写的值,而不是大写的值。