Проблема, которую я пытаюсь решить, так это.Сравнение людей в массиве
У меня есть массив людей, некоторые из людей повторяются в этом массиве, но их детали не всегда одинаковы, есть небольшие вариации в их имени. Итак, что я пытаюсь сделать, это перебрать все имена и сравнить, насколько близко это имя, тогда, если это совпадение, сравните их возраст и родной город.
Позже я надеюсь создать новый массив и сказать: «этот человек также появляется со следующими идентификаторами» ...
То, что я до сих пор является своего рода пузырь, который, если я позволить ей работать долго достаточно, я уверен, что смогу выполнить свою работу. Я просто смотрю, есть ли у кого-то лучшее решение?
<?php
$arr = [
[
'id' => '123',
'name' => 'gary strange',
'home' => 'london',
'age' => 23
],
[
'id' => '124',
'name' => 'john jones',
'home' => 'london',
'age' => 45
],
[
'id' => '125',
'name' => 'bob smith',
'home' => 'paris',
'age' => 63
],
[
'id' => '126',
'name' => 'g strange',
'home' => 'london',
'age' => 23
],
[
'id' => '127',
'name' => 'gary strange',
'home' => 'paris',
'age' => 23
],
[
'id' => '128',
'name' => 'g f. strange',
'home' => 'london',
'age' => 23
]
];
for($i = 0; $i < count($arr); $i++) {
echo "Getting details for " . $arr[$i]['name'] . "\n";
for($j = 0; $j < count($arr); $j++) {
if($j == $i) continue;
else{
echo "Comparing to " . $arr[$j]['name'];
$str1 = $arr[$i]['name'];
$str2 = $arr[$j]['name'];
similar_text($str1,$str2,$percent);
echo " - " . $percent . "%\n";
}
}
echo "******\n";
}
- это ваше решение, ограниченное только PHP, или вам разрешено использовать любую систему для доступа к решению. Является ли это статическим массивом из кода или этот массив извлекается из БД. – azngunit81