gpt4 book ai didi

php - 按值匹配数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:33:53 25 4
gpt4 key购买 nike

我在数据库的临时表中有多个条目,我需要合并它们以形成永久条目。现在信息来自多个 XML 提要,我有各种各样的信息,但我拥有的最接近的是“标题”,或者在我的例子中,是产品名称。不幸的是,除了用他们的名字匹配他们之外,我没有任何其他方式(没有相同的 ID 或类似的东西)。所以例如我有:

$primary = array('feedid' => 2, 'entry_name' => 'ACME Product Black Model #23');
$secondary = array('feedid' => 3, 'entry_name' => 'ACME Product Model #23');

ACME 产品可能从“ACME Product Model #23”到“Model 23”,再到“Black Model #23”,等等。此外,在同一个提要中,我可能有 “ACME Product Model Black #22” 和“CHOAM Product Black - Model 11”

问题是我不能只使用 similar_text()levenshtein(),因为它们有时会匹配错误的项目,或者有时只是不匹配根本。每个提要有 100 多个条目,我最多可以有大约 10 个提要。

编辑:说句实在话,例如:“iPhone 4”和“iPhone 4 White”和“iPhone 4 Black”都应该合并(我可以处理合并,需要先匹配)。所以规则是 - 在这种情况下匹配手机。它也可能是“Barby Doll White hair”和“Barby Doll Black Hair”,但不是“Some other Doll with White Hair”。 ...

任何想法表示赞赏:)

最佳答案

在您写的评论中:

I can't know what the feeds are going to be matching exactly

如果你自己都不知道,别人怎么告诉你?

您首先需要解决您的基本问题(从字符串中获取型号),然后继续。

除非你不能,否则你需要抛出一个异常,输出你无法匹配的模型字符串,分析和调整你的解析器。

您可以或多或少地使用正则表达式轻松地解析字符串:

$r = preg_match('/Model(?: \w+)? #?(\d+)$/', $string, $matches);
if (!$r) throw new Exception(sprintf('Unable to parse "%s"', $string));
$modelNumber = $matches[1];

例如,这适用于您提供的示例数据。但分析输入的工作取决于您。无法具体回答。

关于php - 按值匹配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7709925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com