다음 if 문을 클래스에 삽입하려하지만 예기치 않은 T_IF 오류가 발생했습니다.if 문을 HTML의 CSS 클래스에 삽입하십시오.
class="color_icon_filter '. if ($link_data['id']==$link_data['text']) {$active} .' "
이게 가능하지 않습니까? 아니면 잘못하고 있습니까?
다음 if 문을 클래스에 삽입하려하지만 예기치 않은 T_IF 오류가 발생했습니다.if 문을 HTML의 CSS 클래스에 삽입하십시오.
class="color_icon_filter '. if ($link_data['id']==$link_data['text']) {$active} .' "
이게 가능하지 않습니까? 아니면 잘못하고 있습니까?
if
문을 문자열에 연결할 수 없습니다.
$string = "123";
if ($bar) {
$string .= "456";
}
$string .= "789";
나이 :
대신이 작업을 수행 할 수 있습니다
if ($bar) {
$baz = "456";
} else {
$baz = "";
}
$string = "123" . $baz . "789";
또한, a ternary operator를 사용할 수를하지만 그것은 당신의 코드 모양을 만드는 위험 때문에 조건은, (상대적으로) 긴 경우 라인 노이즈와 같은 것입니다.
서버 쪽을 해석하기 위해 PHP 태그를 열어보세요.
class="color_icon_filter <?php if ($link_data['id']==$link_data['text']) {echo $active} ?>"
편집
또는 당신은 if 문에서 CONCAT하려는
echo 'class="color_icon_filter '.($link_data['id']==$link_data['text'] ? $active : '').'"';
당신은 PHP 태그에 이미 있다면.
해당 줄 앞에 에코가 있다고 가정합니다. sprintf (http://php.net/sprintf)로 변환하거나 echo 라인 앞에 if를 넣고 $ active 값을 설정 한 다음 변수 만 연결하면됩니다.
개인적으로 sprintf/printf가 더 나은 해결책이라고 생각합니다. if 문
는약간 코드는 여기에 먼 길을 간다. –
당신은 할당 작업의 중간에 사용할 수 없습니다,하지만 원하는 결과를 달성하는 방법이 있습니다 :
$active = '';
if ($link_data['id']==$link_data['text']) {
$active = 'active';
}
$class = "color_icon_filter $active";
또는 삼항 연산자를 통해 짧은 방법 :
$active = ($link_data['id']==$link_data['text']) ? 'active' : '';
$class = "color_icon_filter $active";
+1 이렇게 친절하게 설명했습니다. – NullPointer
은 질문에 예기치 않은 T_IF 오류가 발생하고 있습니다. 즉, 문제의 코드가 문자열 내부에서 시작한다는 의미입니다. 이미 공유 된 것을 변경하는 것 외에도 코드를 추가로 수정해야합니다. – Quentin
예! 맞습니다. – Pouki
대체 접근법은 형식 인 경우 terinary를 사용하는 것입니다.'($ link_data [ 'id'] == $ link_data [ 'text']? $ active : "in-active")' – Orangepill