我有这个代码但是没有用,我不知道为什么......
function link_next($local_id, $link_type) {
if ( !is_numeric($local_id) ) die();
elseif ($link_type = 'a-href') { $something = 'a-href'; }
elseif ($link_type = 'link-rel') { $something = 'link-rel'; }
else { $something = 'blablabla'; }
return $local_id.'-'.$something;
}
$id ='14678';
echo link_next($id, 'link-rel');
//编辑
该功能始终显示14678-a-href
答案 0 :(得分:8)
您在条件检查中使用=
。您需要使用==
或===
(严格比较)
答案 1 :(得分:1)
您的代码错误,您在if-else条件中使用'='运算符而不是'=='运算符。 这将为链接类型赋值。您需要更改代码:
function link_next($local_id, $link_type) {
if (!is_numeric($local_id))
return false;
if ($link_type == 'a-href') {
$something = 'a-href';
} elseif ($link_type == 'link-rel') {
$something == 'link-rel';
} else {
$something = 'blablabla';
}
return $local_id.'-'.$something;
}
希望这有帮助
答案 2 :(得分:0)
您正在使用赋值运算符而不是等价运算符。 Aka你正在使用=而不是==。
你可以在if中使用赋值,但是你会说“为变量赋值,然后如果变量不为空则条件为真”。 (其中empty为0,false,'',null等。)
编辑:得到了忍者。这是因为我觉得我更啰嗦。答案 3 :(得分:0)
你必须使用两个相同的符号:
elseif ($link_type == 'a-href') { $something = 'a-href'; }
elseif ($link_type == 'link-rel') { $something = 'link-rel'; }
否则,您将$link_type
设置为指定的字符串!
答案 4 :(得分:0)
您正在使用赋值运算符=
而不是比较运算符==
或===
(严格)。
同时正确缩进代码有助于您轻松发现错误。
function link_next($local_id, $link_type) {
if ( !is_numeric($local_id) ){
die();
}
elseif ($link_type == 'a-href') {
$something = 'a-href';
}
elseif ($link_type == 'link-rel') {
$something = 'link-rel';
}
else {
$something == 'blablabla';
}
return $local_id.'-'.$something;
}
$id ='14678';
echo link_next($id, 'link-rel');
echo link_next($id, 'link-rel');
答案 5 :(得分:0)
你有三个问题:
=
)而非相等(==
)来比较字符串 - 这就是打破代码的原因-
function link_next($local_id, $link_type) {
// early exit
if (!is_numeric($local_id)) die();
if ($link_type == 'a-href') {
$something = 'a-href';
} elseif ($link_type == 'link-rel') {
$something == 'link-rel';
} else {
$something = 'blablabla';
}
return $local_id.'-'.$something;
}
答案 6 :(得分:-1)
试试这个:
function link_next($local_id, $link_type) {
if ( !is_numeric($local_id) ){
die();
} elseif ($link_type == 'a-href') {
$something = 'a-href';
} elseif ($link_type == 'link-rel') {
$something = 'link-rel';
} else {
$something = 'blablabla';
}
return $local_id.'-'.$something;
}
我刚刚纠正了第一次检查时没有{}的事实,不确定这是否重要但是嘿,值得一试。