【问题标题】:PHP Multiple 2/3-D Arrays sorting, adding, removingPHP 多个 2/3-D 数组排序、添加、删除
【发布时间】:2011-07-03 08:16:42
【问题描述】:

好的,所以基本上我有 4 个数组。 2 基于使用 cURL 从各种合作伙伴站点获取名称和电子邮件地址列表的原始查询构建,另一个数组只是来自同一站点的电子邮件地址,用于对我的数据库的查询,所以我可以查看获得的电子邮件地址是否在我的数据库中,如果它们是则进入另一个阵列的那些,而那些没有进入另一个阵列的。我的意思是我可能会考虑很多。但我需要的是那些名字和那些电子邮件地址。第一个数组看起来像..

Array(
  [errors] = "none",
  [output] = Array (
             array(name, email)
             array(name, email)
             array(name, email)
             array(name, email)
             array(name, email)
  )
)

那么我的第二个数组基本上就是

Array(email, email, email, email)

从中我 implode() 用于 IN() 查询到我的数据库,以查看里面有什么,什么不是。我的问题是我现在失去了我的名字,基本上第一个数组变得毫无意义。但是我想我想弄清楚的是有一种方法可以保留第一个数组并将其分开以用于我上面提到的第三个和第四个数组。

我想另一个好问题是。我是否正确地接近逻辑?有没有其他方法可以在没有这么多数组的情况下解决这个问题?

【问题讨论】:

  • 为什么不只是一个类,具有属性名称、电子邮件和 is_in_database;然后有一个对象数组?
  • 不确定我是否遵循您的暗示。
  • 只是一个对象数组似乎比包含冗余数据的四个数组更简单。回应您的最后一段。

标签: php mysql arrays loops foreach


【解决方案1】:

我将使用电子邮件作为键创建一个数组,并对其执行所有操作。

Array(
  'test@test.com' => Array(
    'name' => 'Mr Test',
    'duplicate' => 0
  ),
  'foo@bar.com' => Array(
    'name' => 'Bond, James',
    'duplicate' => 0
  )
)

为您的数据库查询创建一个临时字符串,无论是从这个新数组还是在您从原始数据构建它时。

检查重复结果时,只需在数组中设置重复。然后您可以稍后循环并根据它进行操作。

希望有帮助吗?

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    相关资源
    最近更新 更多