donglang6656 2015-03-10 02:06
浏览 36
已采纳

使用array_count_values()并仍然保持密钥 - PHP

Let's say I have two arrays...

$radicand_array = array(3, 5, 5, 2);
$coeff_array = array(-10, 14, 3, -6);

I'd like to be able to determine which (if any) values in $radicand_array match, AND also know what the keys are. So, in this case I would want to know that there's a match on keys 1 and 2 of $radicand_array.

I need to know this because I want to then add the corresponding key values in $coeff_array. So, in this case I would then add 14 and 3 based on the matching 5's in $radicand_array.

I've tried array_count_values(), but it doesn't seem to give the key values like I want. Is there a PHP function ready made for this?

  • 写回答

2条回答 默认 最新

  • douxingti9307 2015-03-10 02:45
    关注

    Using the link:

    Fixed. Good man!

    <?php
        // $radicand_array = array(3, 5, 5, 2);
        $radicand_array = array(3, 5, 5, 2, 3, 3);
        $coeff_array = array(-10, 14, 3, -6);
    
        $unique = array_unique($radicand_array);
        $duplicates = array_diff_assoc($radicand_array, $unique);
    
        // Duplicate keys
        $aDupes = array_keys(array_intersect($radicand_array, $duplicates));
        $iSum = 0;
        $iCountDupes = count( $aDupes );
        for( $i = 0; $i < $iCountDupes; ++$i )
        {
            if( !empty( $coeff_array[ $aDupes[ $i ] ] ) )
            {
                $iSum = $iSum + $coeff_array[ $aDupes[ $i ] ];
            }
        }
        var_dump( $iSum );
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应