개체 내의 배열에있는 값을 동적으로 사용하려고합니다.
내 경우에는이 배열이 있습니다.
$this->customer = array(
[dealerId] => 4
[billFirstName] => Joe
[billLastName] => Blo
[billAddress1] => 1010s
[billAddress2] => 1020s
[billCity] => Anytown
[billState] => ST
[billCountry] => USA
[billPostalCode] => 11111
[dEmail] => emailaddress
[billPhone] => 8008008888
[password] => password
[distPrice] => 5
[distCost] => 20);
$result = $this->keyCheck('dealerId', 'customer');
방법 내가 사용 :
protected function keyCheck($key, $array, $type = false)
{
if(array_key_exists($key, $this->$array) && $this->$array[$key]):
return $this->$array[$key];
else:
return $type;
endif;
}
첫 번째 검사 작업 (array_key_exists ($ 키 $이 -> $ 배열)). 하지만 두 번째 검사는 실패합니다 ($ this -> $ array [$ key]). 배열의 해당 색인에 값이 있더라도. 나는 배열이 keyCheck() 메소드 안에 존재한다는 것을 증명했다. print_r ($ this -> $ array); 메서드 내부. 그리고 내가 찾고있는 값을 사용하여 메서드 내에서 사용할 수있는 알아, $ this -> $ array [ 'dealerId'];
내가 사용하고있는 이름이나 방법론에 매달리지 말고, 내가 정말로 관심을 가지는 것은이 방법으로 동적으로 처리되는 배열의 값을 처리하는 방법을 찾는 것입니다.
그것은 아마이 공개 된 후에는 내 머리를 때리고있을거야 그렇게 쉽게...
사용하고 무엇을 얻을 볼 수 있습니다. print_r은 Null 값을 신뢰하지 않습니다. – Melsi
isset()을 사용하는 것은 어떻습니까? 뭔가 바뀌어? –
고마워, 나는 그것을 시도하고 배열에 null 값이 없습니다. "$ this -> $ array [ 'dealerId'] print"메서드 내에서 테스트를 수행하면 원하는 값을 얻을 수 있지만 어떤 이유로 변수를 사용하여 인덱스를 지정하면 작동하지 않습니다. – Foaminator