2009-08-13 5 views
0

초보자 용 질문입니다.php에서 대체하기위한 올바른 구문?

나는 대체 어떻게 : {personID}에 대한

$_SESSION['personID']를 다음에 :

public static $people_address = "/v1/People/{personID}/Addresses" 
+0

제목은 연결할 말한다을, 문제는 대체 값 (않는 str_replace 같은) 상태 , 너 찾고 있니? – gnarf

+0

죄송합니다. 아마도 대용품이 제목에서 더 좋았을 것입니다. – pgtips

답변

4

모습이 :

$template = "/v1/People/{personID}/Addresses"; 
$people_address = str_replace('{personID}', $_SESSION['personID'], $template); 

echo $people_address; 

출력 :

/v1/People/someID/Addresses 
+0

좋아, 이젠 이해가 돼, 작동 해, 고마워! – pgtips

0

편집 :이 답변은 편집 후 질문에 더 이상 적용되지 않습니다. 잠시 동안 질문에 대한 몇 가지 질문을 설명해 드리겠습니다.

몇 가지 방법이 있습니다. . 연산자는 아마도 가장 이해하기 쉽습니다. 그 전체 목적은 문자열을 연결하는 것입니다.

public static $people_address = "/v1/People/".$_SESSION['personID']."/Addresses"; 
//PHP Parse error: syntax error, unexpected '.', expecting ',' or ';' 

public static $people_address = "/v1/People/$_SESSION[personID]/Addresses"; 
//PHP Parse error: syntax error, unexpected '"' in 

속성 선언에서 연결을 사용할 수는 없지만 단순한 할당 만하면됩니다. 당신은 "문자열 교체"를 사용하지 못할 포맷 중 하나를

그것을 해결하려면 당신이 클래스의 정적 외부 지정할 수 있습니다 - 예 :

class test { 
    public static $people_address; 
    // .... 
} 

// to illustrate how to work around the parse errors - and show the curly braces format 
test::$people_address = "/v1/People/${_SESSION[personID]}/Addresses"; 

// another (much better) option: 
class test2 { 
    public static $people_address; 
    public static function setup() { 
    self::$people_address = "/v1/People/".$_SESSION['personID']."/Addresses"; 
    } 
} 
// somewhere later: 
test2::setup();