我的代码类似于MD5哈希,我希望将它们用作一系列指令的代码:
<?php
$code = "jeu7395j6jf102m9ns7ij787ggh545h1";
// for every character from the first to
// the last, do something different depending
// on what the character is. if 5 do this,
// if p do that, etc.
有没有一种简单的方法可以在不使用库的情况下在PHP中执行此操作?
我对此感到陌生,提前谢谢。
答案 0 :(得分:2)
这个问题的答案遍布互联网,但如果您还不太了解编程的语言/术语和概念,我想这很难找到。尽量不要被挫折者沮丧。 :)
您可以使用for循环和开关执行此操作:
<?php
$code = "jeu7395j6jf102m9ns7ij787ggh545h1";
$code_length = strlen($code);
for ($i = 1; $i <= $code_length); $i++) {
switch ($code[$i-1]) {
case 'a':
// do this
break;
case 'b':
// do that
break;
// case 'c' and so on for every matched character
}
}
我们将strlen()分配给$ code_length以进行性能优化,这样我们就不会在for循环的每次迭代中执行strlen()。
在您的情况下,使用if
语句可能比switch
更少,但在这种情况下,切换是一种更通用的控制结构,并且它们也更明确。
答案 1 :(得分:1)
function pj(){
//do a
}
function p7(){
//do b
}
function pe(){
//do c
}
...
...
function p1(){
//do Nn
}
foreach(explode('',$code) as $fname){
$function ='p' . $fname;
$function();
}
答案 2 :(得分:0)
只需一个简单的for循环就可以做到这一点:
$str = "String to loop through";
$strlen = strlen( $str );
for ($i = 0; $i <= $strlen; $i++) {
$char = substr($str, $i, 1);
if ($char == 't')
echo 'Do t stuff!';
}
您可能希望为每个角色创建一个规则,一个switch语句是有意义的,但我已经使用if t
字符作为示例。
答案 3 :(得分:0)
这是另一种方法:
$code = "jeu7395j6jf102m9ns7ij787ggh545h1";
for ($i = 0, $j = strlen($code); $i < $j; $i++) {
switch ($code[$i]){
case "a":
//do something when it's 'a'
break;
case "b":
//do something when it's 'b'
break;
case "1":
//do something when it's '1'
break;
}
}