这是我正在尝试做的事情:
$errmsg_1 = 'Please make changes to your post';
$errmsg_2 = 'Please make changes to your post image';
$error = 1;
echo $errmsg_.$error; //'Please make changes to your post';
没有什么可行,并且有许多错误信息,比如我必须回应的这些信息。
有人可以帮忙吗?
答案 0 :(得分:11)
您要求的内容称为变量 - 有关详细信息,请参阅http://uk.php.net/manual/en/language.variables.variable.php。
但请不要这样做;它被认为是非常糟糕的编码实践。
你真正需要的是一个数组:
$errmsg = array(
'Please make changes to your post', //this will be $errmsg[0]
'Please make changes to your post image' //this will be $errmsg[1]
);
$error = 0; //nb: arrays start at item number 0, not 1.
echo $errmsg[$error];
这比编写变量变量要好得多。
答案 1 :(得分:6)
在数组中存储错误消息:
$errmsg[1] = 'Please make changes to your post';
$errmsg[2] = 'Please make changes to your post image';
// and so on
$error = 1;
echo $errmsg[$error];
答案 2 :(得分:4)
尝试
echo {'$errmsg_' . $error};
虽然你这样做的确非常不正确。你应该使用数组;连接变量名称是不好的做法,导致代码混乱/不可读/损坏。使用数组可以这样工作:
$errors = array(
'Please make changes to your post',
'Please make changes to your post image'
);
echo $errors[$error];
虽然请记住$error
从0开始,因为数组是基于0索引的。
答案 3 :(得分:3)
我认为你想要$errmsg_{$error}
,但我现在无法测试/仔细检查。
答案 4 :(得分:1)
这应该有效:
$errmsg_1 = 'Please make changes to your post';
$errmsg_2 = 'Please make changes to your post image';
$error = 1;
echo ${'errmsg_ ' . $error};
答案 5 :(得分:0)
没有冒犯意味着你正在做的是糟糕的设计。
一个小但不完美的解决方案是将您的错误存储为数组。
$errors = array('Please make changes to your post', 'Please make changes to your post image');
$error = 0;
echo $errors[$error];
答案 6 :(得分:0)
尝试使用此${$errmsg_.$error}
这是一个变量变量:http://php.net/manual/en/language.variables.variable.php
答案 7 :(得分:0)
你正试图这样做:
function errorMsg($code)
{
$msg;
switch($code)
{
case 1:
$msg = 'Please make changes to your post';
break;
case 2:
$msg = 'Please make changes to your post image';
break;
}
return $msg;
}
echo errorMsg(1);
答案 8 :(得分:0)
$error_msg = 'Please make changes to your ';
$error[1] = 'post';
$error[2] = 'post image';
for($i=1; $i<=count($error); $i++)
echo $error_msg . $error[$i];
答案 9 :(得分:0)
使用数组。保留索引以便日后参考,以及简单的错误消息更改和有组织的API。
$errmsg = array(
1 => 'Please make changes to your post',
2 => 'Please make changes to your post image'
);
$error = 1;
echo $errmsg[$error]; //'Please make changes to your post';