1.使用argv接收参数
2.使用剪刀石头布的下标作为判断单位
<?php
header("Content-Type: text/html; charset=utf-8");
$value = $argv;
$a = ['剪刀','石头','布'];
//随机取出一个下标
$b = array_rand($a);
$c = $a[$b];
//接收传输的值获取下标
$val_a = array_search($value[1],$a);
if(empty($val_a)){
echo '输入有误';
exit;
}
unset($value[0]);
echo "我出:".$value[1]."\n\r系统:".$c."\n\r结果:";
//代码逻辑1
if($b == 0){
if($val_a == $b){
echo '平局';
}elseif($val_a == 1){
echo '胜';
}else{
echo '负';
}
}elseif($b == 1){
if($val_a == $b){
echo '平局';
}elseif($val_a == 2){
echo '胜';
}else{
echo '负';
}
}elseif($b == 2){
if($val_a == $b){
echo '平局';
}elseif($val_a == 0){
echo '胜';
}else{
echo '负';
}
}
//代码优化1
if($val_a == $b){
echo '平局';
}elseif($b == 0 && $val_a == 1){
echo '胜';
}elseif($b == 0 && $val_a == 2){
echo '负';
}elseif($b == 1 && $val_a == 2){
echo '胜';
}elseif($b == 1 && $val_a == 0){
echo '负';
}elseif($b == 2 && $val_a == 0){
echo '胜';
}elseif($b == 2 && $val_a == 1){
echo '负';
}
//代码优化2
if($val_a == $b){
echo '平局';
}elseif(($b == 0 && $val_a == 1) || ($b == 1 && $val_a == 2) || ($b == 2 && $val_a == 0)){
echo '胜';
}else{
echo '负';
}
?>
linux里直接运行结果: