首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从PHP多维数组中删除重复项,不区分大小写但保留大小写?

从PHP多维数组中删除重复项,不区分大小写但保留大小写,可以按照以下步骤进行操作:

  1. 遍历多维数组,使用递归方式访问每个元素。
  2. 对于每个元素,将其转换为小写形式,使用strtolower()函数。
  3. 使用一个新的数组来存储不重复的元素。
  4. 检查当前元素是否已经存在于新数组中,如果不存在,则将其添加到新数组中。
  5. 最后,将新数组赋值给原始多维数组,以实现删除重复项的效果。

以下是一个示例代码:

代码语言:txt
复制
function removeDuplicates(&$array) {
    $newArray = array();
    
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            removeDuplicates($value);
        } else {
            $lowercaseValue = strtolower($value);
            
            if (!in_array($lowercaseValue, $newArray)) {
                $newArray[] = $lowercaseValue;
            }
        }
    }
    
    $array = $newArray;
}

// 示例用法
$multiDimensionalArray = array(
    "Apple",
    "Banana",
    array(
        "apple",
        "Cherry",
        "banana"
    ),
    "cherry"
);

removeDuplicates($multiDimensionalArray);

print_r($multiDimensionalArray);

这段代码将输出:

代码语言:txt
复制
Array
(
    [0] => Apple
    [1] => Banana
    [2] => Array
        (
            [0] => apple
            [1] => Cherry
        )
    [3] => cherry
)

在这个例子中,原始的多维数组中的重复项已经被删除,不区分大小写但保留大小写。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP array_multisort() 函数

注释:字符串键名将被保留,但是数字键名将被重新索引, 0 开始,并以 1 递增。 注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。...SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,区分大小写。 array2 可选。规定数组。 array3 可选。...SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,区分大小写。 array2可选。规定数组。array3可选。规定数组。...说明 array_multisort() 函数对多个数组多维数组进行排序。 参数数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。...第一个数组是要排序的主要数组数组的行(值)比较为相同的话,就会按照下一个输入数组相应值的大小进行排序,依此类推。

1.6K40

【黄啊码】php函数大全,新手必备神器

natcasesort();//区分大小写的排序, 当遇到字符完全一样,按照数字排 eg: FILE1,FILE2, 这两个字符相同,再按照数字...,true表示区分大小写【返回新索引数组】 3.array_search( "is",$arr[,true] ) //返回值"is"在$arr的key,找不到返回fales,true表示严格按照类型...]【返回一维数组】 3.元素个数和唯一性 1.array_unique($arr);//去掉$arr重复值,重复保留第一个值,【返回数组,键值保留】 2.array_count_values...,1[,2]);//在$arr第二个开始 取 [,返回俩个值]【返回新数组(对原数组无影响),键值保留】 2.array_splice($arr,1[,2,"aaa","bb"])...str1>str2 则返回1 相等返回0 <返回-1 strcasecmp区分大小写的比较 5.strnatcmp($str1,$str2);//按自然数的排序比较,上边的比较

78820
  • PHP常用函数总结

    (“hello”); 字符串第一个字符的 ASCII 值 字符串比较: 41.strcasecmp(): 区分大小写比较两字符串 echo strcasecmp(“Hello world!”...,区分大小写 调用: int stripos ( string $haystack , string $needle [, int $offset ] ) 64.strrpos(): 寻找某字符串某字符最后出现的位置...,区分大小写 调用: int strripos ( string $haystack , string $needle [, int $offset ] ) 66.strspn(): 返回字符串首次符合...); 输入: 数组 输入: 返回无重复数组,键名不变 数组排序: 108.sort(): 按升序对给定数组的值排序,不保留键名 $my_array = array(“a” => “Dog”, “b”...114.natsort(): 用自然顺序算法对数组的元素排序 115.natcasesort(): 自然排序,区分大小写 文件系统函数 116.fopen(): 打开文件或者 URL $handle

    3.2K21

    字符串相关知识集锦

    str_split — 将字符串转换为数组,默认是一个字符一个,第二个参数是每个数组长度 join — 别名 implode() 4.大小写转换 lcfirst() 首字母小写 ucfirst...,第一个参数是要重复的字符串,第二个参数是重复次数 str_replace — 子字符串替换,该函数返回替换后的数组或者字符串。...第一个参数是要被替换的值,第二个是替换结果值,第三个是要进行匹配的字符串,第四个是替换次数 strip_tags — 字符串中去除 HTML 和 PHP 标记 stripcslashes() 函数删除由...7.查找字符 stripos — 查找字符串首次出现的位置(区分大小写)[strpos()区分大小写] strstr — 查找字符串的首次出现(stristr区分大小写) strlen — 获取字符串长度...strpos — 查找字符串首次出现的位置 strrpos — 计算指定字符串在目标字符串中最后一次出现的位置 strripos — 计算指定字符串在目标字符串中最后一次出现的位置(区分大小写

    91670

    SQL排序(二)

    因为字符串字段默认为SQLUPPER,所以这些比较通常区分大小写。...可以使用%EXACT排序规则功能使它们区分大小写:下面的示例返回Home_City字符串匹配,无论字母大小写如何:SELECT Home_City FROM Sample.Person WHERE Home_City...%PATTERN谓词提供区分大小写的通配符和区分大小写的通配符('A')。ORDER BY子句:ORDER BY子句使用名称空间默认排序规则对字符串值进行排序。...DISTINCT消除仅字母大小写不同的重复。要保留大小写不同的重复,但要消除确切的重复,请使用EXACT排序规则。...GROUP BY消除仅字母大小写不同的重复。若要保留大小写不同的重复,但要消除完全相同的重复,必须在GROUP BY子句(而不是select-item)上指定%EXACT归类函数。

    1.6K30

    PHP全栈学习笔记27

    数组概述,类型,声明,遍历,输出,获取数组中最后一个元素,删除重复数组,获取数组中指定元素的键值,排序,将数组的元素合成字符串。 数组概述,数组是存储,管理和操作一组变量。...()函数可以获取并返回数组的最后一个元素 array_push()函数向数组添加元素 array_unique()函数可以将数组重复的元素进行删除 unset()函数可以删除数组的某个元素...array_search()函数可获取数组中指定元素的键名 函数区分大小写 array_keys()函数获取数组重复元素的所有键名 排序 sort() rsort() ksort() krsort...数组名称区分大小写 move_uploaded_file()函数上传文件 array_push()函数向数组添加元素 array_unique()函数删除数组重复元素 array_pop(...array_unique($_FILES["picture"]["name"]); // 删除数组重复的值 array_pop($array); // 删除数组中最后一个单元 for($i=0;$i<

    77940

    PHP零基础入门

    PHP的常量.png ? PHP的运算符.png ? PHP的流程控制.png ?...string ucfirst(string $str) 和 string ucwords(string $str) 字符串的替换函数 str_replace函数区分大小写,str_ireplace函数区分大小写...> // jpEg strstr函数,将返回一个字符串在另一个字符串第一次出现的位置,区分大小写。同理,stristr函数忽略大小写。...image.png array_multisort对多个数组多维数组进行排序 array_pad用值将数组填补到指定长度 array_pop将数组最后一个单元弹出 array_product计算数组中所有值的乘积...array_push将一个多多个单元压入数组的末尾 array_rand数组随机取出一个或多个单元 array_reduce用回调函数迭代地将数组简化为单一的值 array_reverse

    1.5K20

    想学习php的,不如来这里看看

    ,apache可以调用php解析器直接解析php代码,html中直接嵌套php代码,当前要是在php文件 基本知识 php变量名区分大小写,函数名和类名区分大小写,所以干脆变量名和函数名全小写...如果字符串没有变量就用单引号,如果字符串中有变量就用双引号 php的常量 13.常量的定义 和变量一样,但是一旦被定义就不能被修改,常量名最好大写便于区分,类似于C语言的宏定义 例如: define...,并返回一个新的数组 array_unique();删除数组重复的值 使用回调函数处理数组的函数(过滤) array_filter();数组值过滤,筛选出符合条件的值,参数是数组名和条件...from t1;查看t1表中所有数据 8.desc t1;查看t1表列结构 9.exit 退出mysql客户端 10.desc user 查看表记录 数据库操作 1.创建数据库 sql命令区分大小写...,每一个数据库会多一个文件夹,在window下数据库名区分大小写,在linux下相反 2.查看数据库 show databases; 3.删除数据库 drop database t62; 4.切换数据库

    1.3K30

    Array数组函数(三)

    >//结果://【天涯注】此函数对键名区分大小写ExistNotExistArray( [0]=>blog [1]=>home)Array( [0]=>http://blog.phpha.com...>//【天涯注】in_array() 区分大小写//结果:home isin$phphaHome isnotin$phpha list — 把数组的值赋给一些变量 <?...— 带索引检查计算数组的交集,用回调函数比较数据和索引 array_uintersect — 计算数组的交集,用回调函数比较数据 array_unique — 移除数组重复的值 array_walk_recursive...— 返回数组的当前单元 next — 将数组的内部指针向前移动一位 each — 返回数组当前的键/值对并将数组指针向前移动一步 end — 将数组的内部指针指向最后一个单元 key — 关联数组取得键名...natcasesort — 用“自然排序”算法对数组进行区分大小写字母的排序 natsort — 用“自然排序”算法对数组排序 uasort — 使用用户自定义的比较函数对数组的值进行排序并保持索引关联

    98580
    领券