2014-10-06 2 views
1

나는 codeigniter를 사용하고 있습니다. 예 인터넷을 검색했으며 in_array()이 있지만 작동하지 않는 것 같습니다.PHP | 일부 데이터가 배열에 있는지 확인하는 방법

여기는 데이터베이스에서 가져 오는 배열입니다.

Array ([0] => stdClass Object ([FormCIPath] => admin/dashboard/System) [1] => stdClass Object ([FormCIPath] => admin/dashboard/Users) [2] => stdClass Object ([FormCIPath] => admin/residentials/#) [3] => stdClass Object ([FormCIPath] => admin/configurations/#) [4] => stdClass Object ([FormCIPath] => admin/configurations/ManageForms) [5] => stdClass Object ([FormCIPath] => admin/residentials/Houses) [6] => stdClass Object ([FormCIPath] => admin/residentials/Flats) [7] => stdClass Object ([FormCIPath] => admin/configurations/ManageTabs) [8] => stdClass Object ([FormCIPath] => admin/configurations/SitePreferences) [9] => stdClass Object ([FormCIPath] => admin/usersManageUsers/#) [10] => stdClass Object ([FormCIPath] => admin/usersManageUsers/CreateUser) [11] => stdClass Object ([FormCIPath] => admin/usersManageUsers/ListUsers)) 

제가 configurations/ManageForms 배열 안에있는 경우 찾을, 그래서 이런 시도.

$partialURI = $class."/".$method; 
if(in_array($partialURI,$result)){ 
    return "True"; 
} 
else{ 
    return "FALSE"; 
} 

하지만 항상 답례로 False가 표시됩니다. 나는 변수 $partialURI을 확인한 후 configurations/ManageForms을 반환합니다. 그래도 여전히 나는 답례로 거짓말을하고 있는데,이 텍스트가 배열 내부에있는 것을 볼 수 있겠습니까?

+0

in_array()를 사용할 수없는 이유는 무엇입니까? –

+0

@AvinashBabu 그것의 객체 배열, 그게 왜'in_array()'나를 위해 일하지 않았다 것 같아. –

답변

2

$result 배열을 교체하여 코드를 시도 :

$partialURI = $class."/".$method; 
foreach($result as $r) { 
    if(stripos($r->FormCIPath, $partialURI) !== false) { 
     return 'true'; 
    } 
} 
return 'false'; 
+0

객체 배열로 보입니다 (맞다면) 이것이 작동하지 않을 수 있습니까? –

+0

감사합니다. –

+0

@DarylGill 배열의 각 복사본은 객체'$ r-> FormCIPath'에 화살표 연산자를 사용하기 때문에'configurations/ManageForms' =='admin/configurations/ManageForms' 비교 이후에 stripos 만 사용하십시오 – Ghost

1

이 시도 :

$data= new array(); 
foreach ($result as $r) { 

$data[]=$r; 

} 

만 평면에 in_array() 작품, 당신은 단순한 foreach 루프 사용할 수 있기 때문에 지금 $data

$partialURI = $class."/".$method; 
    if(in_array($partialURI,$data)){ 
       return "True"; 
      } 
      else{ 
       return "FALSE"; 
      } 
관련 문제