PHP获取数组中重复值的键值

$array = array (

  0=>‘a‘,
  1=>‘b‘,
  2=>‘a‘,

  5=>‘b‘,
  6=>‘c‘,
  40=>‘d‘
);

$keyarr =[];
$resultkey = [];
foreach ($array as $k => $v) {
  if (in_array($v, $keyarr)) {

    //在数组中搜索键值$v,并返回它的键名
    $resultkey[] = array_search($v,$keyarr);
    $resultkey[] = $k;
  }else{
    $keyarr[] = $v;
  }
}

print_r($resultkey);

最后的结果:

Array
(
  [0] => 0
  [1] => 2
  [2] => 1
  [3] => 5
)

时间: 2024-10-06 00:23:21

PHP获取数组中重复值的键值的相关文章

获取数组中重复的元素

第一种,判断包含基本类型的数组中的重复元素 /** * (这里只是判断基本类型的元素) * @param Array * @return Array */ export const getRepeatElement = (array) => { let result = [] let hash = {} array.forEach((item) => { if (item) { if (!hash[item]) { hash[item] = true } else { result.push(

获取数组中key和value的值

方法1: PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像.这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误.有两种语法,第二种比较次要但却是第一种的有用的扩展.foreach (array_expression as $value)statement第一种格式遍历给定的 array_expression 数组.每次 foreach (array_expression as $key => $value

smarty中ifelse、foreach以及获取数组中键值名的一个实例

<{if empty($history)}> <tr> <td colspan="6">Not any records!</td> </tr> <{else}> <{foreach from=$history item=item}> <tr> <td><{$item.id}></td> <td> <div style="max-

javascript如何去掉数组中重复的值

javascript如何去掉数组中重复的值: 数组是用来组织数据的,有时候里面的数据是重复的,下面就介绍一下如何从数组中删除重复的内容. 代码实例如下: var theArray=[1,2,3,4,5,6,4,3,10]; function unique(data){ var data=data||[]; var a={}; for(var i=0;i<data.length;i++){ var v=data[i]; if(typeof(a[v])=='undefined'){ a[v]=1;

js如何删除数组中重复的值

js如何删除数组中重复的值:有时候需要删除数组中重复的元素,下面是分享一下常用的代码,希望能够给需要的朋友带来一定的帮助.代码实例如下: Array.prototype.deleteEle=function() { var obj={}; var newArr=[]; var i,j; for(i=0;i<this.length;i++) { if(typeof(obj[this[i]])=="undefined") { obj[this[i]]=""; }

程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】

转!http://blog.csdn.net/dabusideqiang/article/details/38271661 11.求旋转数组的最小数字 题目:输入一个排好序的数组的一个旋转,输出旋转数组的最小元素. 分析:数组的旋转:把一个数组最开始的若干个元素搬到数组的末尾.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1.这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组

如何在JSTL中获取数组或者list对象的索引值(index)

<c:forEach items="${productList}" var="products" varStatus="status"> 产品序号:${status.count} 产品名称:${products.name} </c:forEach> 上面代码中的varStatus是关键,${status.count}即是我们要的数组的索引值. 如何在JSTL中获取数组或者list对象的索引值(index)

PHP获取数组最后一个元素的键和值

<?php /** * PHP获取数组中最后一个元素下标和值 */ $arr = ['1' => 'name', '3' => 2, 5 => 6, 'name' => '张三']; $a = end($arr); echo $a; echo "<br>"; foreach ($arr as $k => $v) { if ($v === $a) { echo $k; } } 原文地址:https://www.cnblogs.com/sgm

给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)

1 """ 2 #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 3 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 4 解题思路: 5 1.设定一个空字典,去存储列表中的值和值出现的次数 6 2.使用L.count()方法可以统计出L中值出现的次数 7 3.使用sorted方法可以进行排序,sorted(iterable,key,reverse) 8 注意key是函数 9 4.列表中的元祖取值 d[i][j] i是哪一个元祖,j是元祖