2012-04-16 5 views
17

가능한 중복 :
How to check if an array element exists?어떻게 키를 JSON 문자열에 있는지 여부를 알고

만약 내가 잘못, 내가 PHP 새로운 오전 사과 여부를 확인하는 방법은 없나요 키가 json_decode 함수를 사용하여 디코딩 후 Json 문자열에 존재합니다.

$json = {"user_id":"51","password":"abc123fo"}; 

개요 : JSON 문자열이 user_id를 구성하지 않습니다

$json = {"password":"abc123fo"}; 
$mydata = json_decode($json,true); 
user_id = $mydata['user_id']; 

경우는 Undefined index user_id 같은 예외가 너무 키가 JSON 문자열에 존재하는지 여부를 확인할 수있는 방법이, 발생, 도와주세요 , 사용하고 있습니다 PHP 5.3 and Codeigniter 2.1 MVC 미리 감사드립니다.

+0

를 반환합니다 반환합니다 –

답변

19

시도해 볼 수 있습니다 array_key_exists. 값이 null하지 않은 경우 당신은 또한 확인하고 싶은 경우

if(array_key_exists('user_id', $mydata)) { 
    //key exists, do stuff 
} 
37

당신이 isset

if(isset($mydata['user_id'])){ 
    // do something 
} 

예를 사용할 수 있습니다

그것은 부울 값을 반환합니다, 그래서 당신이 무엇인가를 검색 할 수

array_key_existsisset의 차이는 다음과 같습니다.

$json = {"user_id": null} 
http://www.php.net/manual/en/function.array-key-exists.php을 :

array_key_existsisset 반면 true가 도움이되는 문서를 읽기 false

관련 문제