次のような 2 つの配列があります。
$arr1 = ("stringType1AndSomeRandomStuff",
"stringType2AndSomeRandomStuff",
"stringType3AndSomeRandomStuff",
"stringType1AndSomeRandomStuff",
"stringType2AndSomeRandomStuff",
"i don't belong here at all!",
"stringType4AndSomeRandomStuff");
この最初の配列 ( $arr1
) では、ほとんどのキーに何らかの共通の属性があります。上記のテキスト例では、これはstringTypeX
. この「共通要因」は、私が検索する必要があるものです。各文字列には、 に例示された何らかの追加データもありますAndSomeRandomStuff
。
2 番目の配列は次のようになります。
$arr2 = ("stringType1" => "category1",
"stringType2" => "category2",
"stringType3" => "category3",
"stringType4" => "category4");
の各文字列を調べて、 のいずれかのキーと$arr1
厳密に一致するかどうかを確認する必要があります。いずれかのキーに一致する場合は、からのキーの値が必要です。$arr2
$arr2
の各文字列を反復処理して、適用されるキー$arr1
(ある場合) を判断するにはどうすればよいですか? 基本的に、最も近い一致を見つけるには、のすべての文字列を調べて、 のすべてのキーに対して部分一致を実行する必要があります。頭に浮かぶ当面の解決策は、2 つのループ ( in のすべての外側と inのそれぞれの内側) を使用することですが、PHP に、文字列を取り、それが既存の配列内の文字列と一致するかどうかを確認できる関数はありますか? これを行うためのよりパフォーマンスの高い方法を知っている人はいますか?$arr2
$arr1
$arr2
$arr1
$arr2