文字列を想定します。
$str = 'a_b_c';
上記との可能なすべての組み合わせを一致させたいですa, b, c
。例えば:
b_a_c
上記と比較すると、、、c_a_b
.. a_c_b
etcが表示されます。true
$str
ノート:
$str
ランダムかもしれません。例:a_b
、k_l_m_n
など
文字列を配列に分割し、それを要素の配列と比較して一致させます。
$originalList = explode('_', 'a_b_c');
$matchList = array('a', 'b', 'c');
$diff = array_diff($matchList, $originalList);
if (!empty($diff)) {
// At least one of the elements in $matchList is not in $originalList
}
データの取得方法に応じて、要素の重複に注意してください。
ドキュメンテーション:
これをすばやく行う組み込みの方法はありません。あなたのタスクは、それらがどれほど一般的であるかによって異なる多くの異なる方法で達成できます。null 値や文字列のフォーマットのチェックについて言及していないため、次のようなものが目的に合うかもしれません。
function all_combos($str,$vals) {
$s=explode("_",$str);
foreach($s as $c) {
if(!in_array($s,$vals)) return false;
}
return true;
}
のように電話するall_combos("b_c_a",array("a","b","c"));