当前位置: 首页 > 面试题库 >

php只返回数组中重复的条目

羊舌琛
2023-03-14
问题内容

我想从数组中检索所有重复的条目。这在PHP中可行吗?

array(
    1 => '1233',
    2 => '12334',
    3 => 'Hello',
    4 => 'hello',
    5 => 'U'
);

我想返回一个仅包含重复值的数组:“ hello”。

所需的输出数组:

array(
    1 => 'Hello',
    2 => 'hello'
);

问题答案:

您需要使函数不区分大小写,以获取所需的“ Hello” =>“ hello”结果,请尝试以下方法:

$arr = array(1=>'1233',2=>'12334',3 =>'Hello' ,4=>'hello', 5=>'U');

// Convert every value to uppercase, and remove duplicate values
$withoutDuplicates = array_unique(array_map("strtoupper", $arr));

// The difference in the original array, and the $withoutDuplicates array
// will be the duplicate values
$duplicates = array_diff($arr, $withoutDuplicates);
print_r($duplicates);

输出为:

Array
(
[3] => Hello
[4] => hello
)

通过@AlixAxel编辑:

这个答案很有误导性。它仅在此特定条件下有效。这个反例:

$arr = array(1=>'1233',2=>'12334',3 =>'Hello' ,4=>'HELLO', 5=>'U');

惨败 。另外,这不是保留重复项的方法:

array_diff($arr, array_unique($arr));

由于重复的值之一将在中array_unique,然后被斩波array_diff

通过@RyanDay编辑:

因此,请查看@Srikanth或@Bucabay的答案,这些答案适用于所有情况(查找Bucabay的大小写不敏感),而不仅仅是问题中指定的测试数据。



 类似资料:
  • 相当新的反应,我相信这很容易,但我正在尝试转换: 转换成单个返回语句。 基本上是替换

  • 问题内容: 我有一个由以下映射的关联: 我想使用Criteria API返回所有包含一个或多个带有attribute实体的实体的列表。我不希望映射集合被查询过滤。 例如,给出以下内容: 该查询应返回以下内容: 到目前为止,我正在使用以下条件查询: 然而,它返回的等价于 即,它为每个子元素返回一个父记录(填充了子集合) 有谁知道在这种情况下如何仅返回唯一的父元素? 意见表示赞赏,p。 问题答案: 您

  • 问题内容: 我正在使用一个模板引擎,该引擎将代码插入我想要的站点中。 我写了一个函数来测试一些很简单的东西: 问题是,$ this-> data是私有的,我无法在任何地方访问它,因此我必须使用getData();。导致我的问题。 不起作用,并且先分配值也不起作用,因为它将直接在if()块中使用。 有任何想法吗? 问题答案: 从PHP 5.4开始,可以完全做到这一点:

  • 假设我想写一个函数,它可以接受一个参数,这个参数可以是null类型,也可以是非null类型。如果参数不可为null,则返回类型也应不可为null。类似地,如果参数是可空类型,那么返回类型也应该是可空类型。 以下是我为实现这一职能所做的尝试: 函数签名似乎是正确的,因为它在调用站点上实现了所需的行为,例如: 即返回类型确实由参数类型以正确的方式确定。 然而,我的问题在于函数的实现。如果不将返回值强制

  • 问题内容: 我有一个具有多个值(双精度)的数组,其中许多是重复的。我想返回或打印所有唯一值的列表,以及给定值在数组中出现多少次的计数。我对Swift来说还很陌生,我尝试了几种不同的方法,但是我不确定实现此目的的最佳方法。 像这样的内容:[65.0、65.0、65.0、55.5、55.5、30.25、30.25、27.5] 将打印(例如):“ 3 at 65.0、2 at 55.5、2 at 30.

  • 本文向大家介绍php array_keys 返回数组的键名,包括了php array_keys 返回数组的键名的使用技巧和注意事项,需要的朋友参考一下 array_keys返回数组中部分的或所有的键名 说明 array array_keys ( array $array [, mixed $search_value [, bool $strict = false ]] ) array_keys()