两个数组上的php相似_文本函数
我有两个大致的产品名称和价格数组,如下所示:两个数组上的php相似_文本函数,php,arrays,if-statement,foreach,Php,Arrays,If Statement,Foreach,我有两个大致的产品名称和价格数组,如下所示: $one=array('grape'=>'0.40','apple'=>'1.20','banana'=>'1.80','lemon'=>'10.43'); $two=array('grappe'=>'1.20','kiwi'=>'7.54','banaana'=>'3.20','aubergine'=>'2.32'); 我试图使用类似的_text函数在数组上迭代,以返回彼此紧密匹配的键。例如,我想从
$one=array('grape'=>'0.40','apple'=>'1.20','banana'=>'1.80','lemon'=>'10.43');
$two=array('grappe'=>'1.20','kiwi'=>'7.54','banaana'=>'3.20','aubergine'=>'2.32');
我试图使用类似的_text函数在数组上迭代,以返回彼此紧密匹配的键。例如,我想从上面的示例中提取'grappe'=>'1.20'
和'banaana'=>'3.20'
的值
我不确定如何引用数组并将其传递给类似的_text函数,因为该函数只接受字符串数据。我假设我需要使用foreach
循环正确引用数组,并使用if语句和similor\u text
函数指定两个匹配之间所需的相似性百分比
例如(在foreach循环中):
similous\u text($1,$2)
返回两个字符串中匹配字符的数量,因此要获得百分比,您应该运行similous\u text($1,$2,$percent)代码>安装
范例
$one = array('grape' => '0.40','apple' => '1.20','banana' => '1.80','lemon' => '10.43');
$two = array('grappe' => '1.20','kiwi' => '7.54','banaana' => '3.20','aubergine' => '2.32');
$result = array();
foreach ( $one as $key => $value ) {
foreach ( $two as $twoKey => $twoValue ) {
similar_text($key, $twoKey, $percent);
if ($percent > 80) {
$result[$key] = array($value,$twoValue);
}
}
}
var_dump($result);
输出
array
'grape' =>
array
0 => string '0.40' (length=4)
1 => string '1.20' (length=4)
'banana' =>
array
0 => string '1.80' (length=4)
1 => string '3.20' (length=4)
你认为“相似”的条件是什么?谢谢这个答案真的帮助了我,我很感激你在这里的时间和努力。
array
'grape' =>
array
0 => string '0.40' (length=4)
1 => string '1.20' (length=4)
'banana' =>
array
0 => string '1.80' (length=4)
1 => string '3.20' (length=4)