이 코드의 잘못된 점은 무엇입니까? 편집기에서 구문 오류가 발생했습니다.간단한 PHP 코드 구문 오류
$posts = if($row['plans'] == 1000) { 2 } elseif($row['plans'] == 1001){ 8 }else{ $row['posts'] }
이 코드의 잘못된 점은 무엇입니까? 편집기에서 구문 오류가 발생했습니다.간단한 PHP 코드 구문 오류
$posts = if($row['plans'] == 1000) { 2 } elseif($row['plans'] == 1001){ 8 }else{ $row['posts'] }
당신이 만드는이
$posts = $row['plans'] == 1000 ? 2 : ($row['plans'] == 1001 ? 8 : $row['posts']);
이렇게 할당 할 수 없습니다. 너는 이렇게해야 해.
if($row['plans'] == 1000) {
$posts = 2;
} elseif($row['plans'] == 1001) {
$posts = 8;
} else{
$posts = $row['posts'] }
if($row['plans'] == 1000) { $posts = 2; } elseif($row['plans'] == 1001){ $posts = 8; }else{ $posts = $row['posts']; }
또는 사용 스위치/케이스 :
switch($row['plans']){
case 1000:
$posts = 2;
break;
case 1001:
$posts = 8;
break;
default:
$posts = $row['posts'];
break;
}
하거나 코드 명 같은 삼항 연산자를 사용할 수 있습니다 이미했다.
당신은if
상태 그 방법에서 변수에 값을 할당 할 수 없습니다
, 당신은 수행해야합니다
$posts = ($row['plans'] == 1000) ? 2 : ($row['plans'] == 1001) ? 8 : $row['posts'];
더 많은 대안 : (원 운영자 ?
사용)
if($row['plans'] == 1000) {
$posts = 2;
}
elseif($row['plans'] == 1001){
$posts = 8;
}
else{
$posts = $row['posts'];
}
대체 구문 구문 (switch
사용) :
switch($row['plans'])
{
case 1000:
$posts = 2;
break;
case 1001:
$posts = 8;
break;
default:
$posts = $row['posts'];
break;
}
당신이 한 줄 할당 의도 경우 10
, 그것은 다음과 같이 작동
이$posts = ($row['plans'] == 1000 ? 2 : ($row['plans'] == 1001 ? 8 : $row['posts']));
<condition> ? <true> : <false>
(삼항 작동)
처럼 지정할 수 있습니다 그것은 꽤 읽을 수 없습니다. –
@ DanielA.White 이것이 내 머리 속으로 튀어 나온 첫 번째 해결책이지만, 맞습니다. – Nasreddine
이것은 나를 위해 일한 첫 번째 응답과 일을합니다. 다른 모든 대답도 잘 작동합니다. 모두에게 감사드립니다. – Pinkie