2014-04-21 2 views
0

질문 : PHP에서 어떻게 든 '함수'문자열을 이스케이프 처리하여 함수로 인식 할 수 없습니까?PHP에서 'Function'문자열을 이스케이프 처리하여 함수로 인식 할 수 있습니까?

SQL 데이터베이스에서 PHP로 SQL 데이터베이스로 데이터를 가져오고 있습니다. 필드의 값을 ID로 바꿔야합니다. 데이터가 배열로 전송됩니다. 나는 아래의 방법을 사용하여 자동으로 인식 할 수없는 ID를 대체하려고 노력 해왔다. 그러나 배열의 필드 이름 중 하나는 '함수'라고합니다. PHP는 내가 함수를 작성하려는 생각하는 것 같다 내가 네

'Parse error: syntax error, unexpected '==' (T_IS_EQUAL), expecting '('

if (isset($Function)) { 
if (Function == 'A') { 
    $functionID = '4'; 
} 
else if (Function == 'B'){ 
    $functionID = '11'; 
} 
} 
else { 
    $functionID = 0; 
} 
+0

'$ Function' (변수를 의미)은' 함수'? – deceze

답변

1

코드에서 배열 데이터에 액세스하지 않습니다. 대신 $Function이라는 단일 변수에 액세스하려고합니다.

배열이 $arr이라는 변수에 저장된다고 가정합니다. 그런 다음 'Function'필드의 값을 확인하려면 다음과 같이 작성해야합니다.

if ($arr['Function'] == 'A') { 
    // ...your action code here 
} 
+0

이것은 정확히 내가 필요로했던 것입니다. 감사합니다. 충분한 평판 포인트가 없기 때문에 아직 투표 할 수 없습니다. – Lissy

2

, 당신이 할 수있는 오류 메시지를 얻을! Function을 사용하는 방식은 잘못되었습니다 (앞에서 달러 기호가없는 맨손으로 예약어 또는 상수로 가정 됨). 달러 기호를 앞에 붙여서 변수로 해석하십시오. 문자열이 "Function"을했을 것이다

  • :
    if (isset($Function)) { 
        if ($Function == 'A') { 
        $functionID = '4'; 
        } else if ($Function == 'B'){ 
        $functionID = '11'; 
        } 
    } else { 
        $functionID = 0; 
    } 
    

    Function이 문자열이 있습니다.
  • Function는 예약어
  • Some_Function입니다 (이 예약되지 않은 것 같은) 상수는
  • $Function 함수 호출했을 변수
  • Some_Function()입니다.
+0

+1'$ function'이''C ''와 같은 경우'$ functionID'는 설정되지 않은 채로 남습니다. 코드 로직의 결함입니다. – deceze

+0

감사합니다. 충분한 점수가 없기 때문에 도움이되었습니다. 아직 투표 할 수 없습니다. – Lissy

관련 문제