全部の順序調べたりする必要もなく
最初に見つかったの返すだけならstrposすらいらぬ
$str = 'ADCBE';
$array = ['B', 'C', 'D'];
for ($i = 0; $i < strlen($str); $i++) {
 foreach ($array as $char) {
  if ($str[$i] == $char) {
   echo $char;
   break 2;
  }
 }
}
もうちょいコード短くしたいならforeachのとこはin_array使えばいい
つうか初心者スレ案件