【问题标题】:Check if values are present in an array based on another array [duplicate]检查基于另一个数组的数组中是否存在值[重复]
【发布时间】:2019-04-08 23:39:30
【问题描述】:

我有一个数组$check,其中包含与优惠和购物篮相关联的代码——这两个都有关键值。我想检查basket 中的值是否存在于offer 中。

场景 1,这将失败,因为篮子不包含 DEF:

Array
(
    [offer] => Array
        (
            [0] => 'ABC',
            [1] => 'DEF',
        ),
    [basket] => Array
        (
            [0] => 'ABC',
            [1] => '123',
            [2] => '456',
        )
)

场景 2,这会通过,因为篮子数组包含 ABC 和 DEF

Array
(
    [offer] => Array
        (
            [0] => 'ABC',
            [1] => 'DEF',
        ),
    [basket] => Array
        (
            [0] => 'ABC',
            [1] => 'DEF',
            [2] => '123',
        )
)

比较数组最有效的方法是什么?

【问题讨论】:

  • 您自己尝试过什么来解决这个问题?显示一些代码。
  • array_intersect 函数。
  • 每个人都知道什么是最有效的......实际上意味着为我写。首先,您应该编写有效的代码,然后,并且仅在必要时尝试对其进行优化。

标签: php arrays


【解决方案1】:

由于您没有表现出解决问题的努力,因此请努力理解这一点):

echo count($check['offer']) == count(array_intersect($check['basket'], $check['offer'])) ? 'All present' : 'Nope';

【讨论】:

  • :):):):):):):):)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多