- array_map: documentation ( source)
- preg_match: documentation ( source)
- implode: documentation ( source)
- str_split: documentation ( source)
<?php
$input = 'S1G6AB'; // given this
$store = '5I6GAB'; // actually this
$regex = implode('', array_map(function ($c) {
$map = ['S'=>'[S5]','5'=>'[S5]','1'=>'[1I]','I'=>'[1I]','G'=>'[6G]','6'=>'[6G]'];
return (array_key_exists($c, $map) ? $map[$c] : $c);
}, str_split($input)));echo (0 < preg_match("/$regex/", $store) ? 'Match' : 'No match');