首页
学习
活动
专区
工具
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 不区分大小写的比较 5.strnatcmp($str1,$str2);//按自然数的排序比较,上边的比较

79520
  • 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.3K21

    字符串相关知识集锦

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

    91870

    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<

    78340

    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 — 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

    99480

    Python基础知识点梳理

    方法 说明 实例 01 查询 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 program_list.index(“java”)) 02...格式化字符串,以及保护列表数据,由于元组的数据无法修改,因此提供的方法也比较少: 序号 分类 方法 说明 实例 01 查询 tuple.index(obj) 从元组中找出某个值第一个匹配项的索引位置...否则返回False 04 str.istitle() 如果 string 是标题化的(每个单词的首字母大写)则返回True 05 str.isupper() 如果 string 所有区分大小写的字符都是大写...,则返回True 06 str.islower() 如果 string 所有区分大小写的字符都是小写,则返回True 07 str.isspace() 如果 string 中只包含空格...,如果为 True,则保留换行符。

    1.4K10

    PHP在CTF中的应用场景

    PHP常用函数 strpos("1","2")在1中查找二并返回索引或false str_replace("1","2","3")在3中找1并替换为2 define()定义大小写不敏感的常量 !...>"; array() count() 函数用于返回数组的长度(元素数 htmlspecialchars() 函数把特殊字符转换为 HTML 实体 (通过 PHP trim() 函数)去除用户输入数据中不必要的字符...删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。a打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。x创建新文件为只写。...删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。a+打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。x+创建新文件为读/写。...php中所有用户自定义的函数类和关键词(if else echo)不区分大小写但是变量大小写敏感php is_numeric()绕过 [判断是否为数字或数字字符串]用url编码中的空字符%00或%20进行绕过

    13510

    PHP常用字符串

    该函数对大小写不敏感 strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int开始 strripos($str,search,[int]):同上,该函数对大小写不敏感...strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。 stristr() 功能同strstr,只是不区分大小写。...strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名 3、替换字符串的PHP字符串函数 str_replace(search,replace,$str):从$str中查找search用...) strnatcmp("4","14") 按自然排序比较字符串 strnatcasecmp() 同上,(区分大小写) 6、分割成数组的PHP字符串函数 str_split($str,len):把$str...strip_tags($str[,'']):去除HTML和PHP标记 在$str中所有HTML和PHP代码将被去除,可选参数为html和PHP代码作用是将保留可选参数所写的代码。

    59420
    领券