// These are my Variables
$a = "a";
$b = "b";
$c = "c";
//My Post Form Data
$post = $_POST['name'];
//My Statements
if (isset($_POST['name']) && preg_match("/\b($a)\b/", $post )) {
echo '64';
}
if (isset($_POST['name']) && preg_match("/\b($b)\b/", $post )) {
echo '67';
}
if (isset($_POST['name']) && preg_match("/\b($c)\b/", $post )) {
echo '66';
}
问题是我希望abc
位于form order
中,然后再打印一次。因此,如果我输入cba
,我希望它打印666764
。
如果我将表单输入作为cbaa
发送,我希望输入为66676464
。当前它将以此646766
的形式发布!
编辑:穆罕默德教徒工作了!
答案 0 :(得分:0)
您可以简单地从字符串进行迭代
$statements = [
'a' = 64,
'b' = 67,
'c' = 66
];
$input = isset($_POST['name']) ? $_POST['name'] : null;
$output = null;
for($x = 0; $x < strlen($input); $x++) {
$letter = strtolower($input[$x]);
if(!isset($statements[$letter])) {
continue;
}
// Do something if 'a', 'b', 'c'
// if($letter == 'a') etc ..
$output .= "" . $statements[$letter];
}
echo $output;
答案 1 :(得分:0)
Mohammad的评论可能是这个问题的最简洁答案,所有荣誉归他所有。
使用str_replace
函数使其成为一个衬纸:
$str = 'cbaa';
$res = str_replace(['a', 'b', 'c'], ['65', '66', '67'], $str);
echo $res;
// prints 67666565 as expected