多次元配列の値が特定の割合で同じかどうかを確認したい。
たとえば、これは私の配列です:
$shop = array( array( Title => "rose",
Price => 1.25,
Number => 15
),
array( Title => "daisy",
Price => 0.75,
Number => 25,
),
array( Title => "orchid",
Price => 1.15,
Number => 7
)
);
与えられた値 (たとえば "testorchid") が多次元配列の値と 55% 一致する場合。多次元配列の対応する値と同じパーセントを返します。
だからこの場合。「testorchid」で確認すると、「orchid」と 55.56% が返されます。similar_text(): に少し似ています: 動作します
指定された値 (針) が多次元配列の値と同じかどうかを確認できる関数を取得しました。
function in_array_r($needle, $haystack, $strict = true) {
foreach ($haystack as $item) {
if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
return true;
}
}
return false;
}
ただし、値がまったく同じ場合にのみ true を返します。多次元配列の対応する値ではなく、値のパーセントでもありません。
私は次のように言いたいです: "orchidtest" が多次元配列の ["title"] と 60% を超える場合、その値をパーセントで指定します。