【问题标题】:how to combine two arrays with the same array key then if the value is the same then it is not displayed and if it is different it will be displayed如何将两个数组与相同的数组键组合然后如果值相同则不显示,如果不同则显示
【发布时间】:2021-09-23 23:26:42
【问题描述】:

我整天都在和这个作斗争,希望另一双眼睛能给我一些洞察力。我不确定我是否以正确的方式接近这一点。我有两个数组,但这些数组有不同的数字列表。我正在使用 Laravel 构建一个应用程序。

$naflr = array(
    0 => "NA"
    1 => "A2"
    2 => "A2"
    3 => "A1"
    4 => "A1"
    5 => "A1"
    ...
    49 =>"A3"
)

$fuzifikasi = array(
    0 => "A2"
    1 => "A1"
    2 => "A4"
    3 => "A1"
    4 => "A1"
    5 => "A1"
    ...
    48 => "A4"
)

如何从NAFLR数组中过滤出带有FUZIFIKASI的值数组,希望结果是这样的

$resul = array(
    [na] = array(
        0 => "A2"
    )

    [A2] = array(
        0 = > "A1"
        1 => "A4"
    )
    ....
)

【问题讨论】:

  • @salman 有什么问题。你想循环$naflr ,获取该数组中每个项目的键和值(比如值是$v,键是$k)。然后从数组$fuzifikasi 中获取与键$k 对应的值(例如$v2),并将此值分配给另一个数组(例如$r),键为$v,值为$v2。这是你需要的吗?
  • 我想从一组 $naflr 值中创建一个组,其中包含 $fuzzification 的值作为基准,例如,如果 $naflr 在第 1 行具有值 A2,则放置 $fuzzification 的值进入A2组
  • $naflr 在第 1 行的值为 A2,然后将 $fuzzification 的值放入组中 -> $fuzzification中的值
  • 是的,你能提供一个示例代码吗??
  • 我在问数组$fuzzification中的哪个值需要放入组A2

标签: php arrays laravel arraylist


【解决方案1】:

如果我的描述正确,那么你需要做的就是遍历你的第一个数组,检查你的第二个数组中是否存在具有相同索引的项目(从你的解释中不清楚,这些是否总是有确切的是否相同数量的项目),如果是,则使用第一个数组中的值作为键将其添加到结果数组中:

$result = [];

foreach($naflr as $index => $value) {
    if(isset($fuzifikasi[$index])) {
        $result[$value][] = $fuzifikasi[$index];
    }
}

var_dump($result);

https://3v4l.org/L34El

【讨论】:

  • 先生,我可以再问一个问题吗?
  • 关于这个具体问题,还是别的什么?如果是后者,那么您应该创建一个新问题。
  • stackoverflow.com/questions/68417882/…@CBroe 我写到这里,希望你能再次帮助我:)
猜你喜欢
  • 2019-05-07
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
  • 1970-01-01
相关资源
最近更新 更多