I got confused when I was trying to access an array element directly with its index. I guess I could explain it better in coding:-
I am having an object of Employee Class and I TypeCast it to array and tried to display it like this:
$arrOfObj = (array) $objEmployee; $arrKeys = array_keys( $arrOfObj ); display( $arrOfObj ); // display() is a method in my library that prints an array in a mannered way.
this gives me the following output :-
Array ( [*m_UserId] => 1155 [*m_EmailPassword] => [*m_IsAssignedToManagementCompany] => [*m_ManagementCompanyId] => [*m_DepartmentId] => 3 [*m_DesignationId] => 4 [*m_EmployeeCompletedMonth] => [*m_EmployeeCompletedDay] => [*m_EmailAddress] =>email@example.com ------ ------ )
Now here I dont understand this Star(*). when my member variables are simple like m_UserId, m_EmialPassword and So on where from it gets this Star. and when I try to display the same with following 2 statements I got an error :-
display( $arrOfObj['*m_EmailAddress'] );
display( $arrOfObj['m_EmailAddress'] );
Both give the Error message Undefined index: m_EmailAddress
And when i try to do it this way It works fine :-
display( $arrOfObj[$arrKeys] );
The last one works fine, Can anyone explain me the problem.
display( $arrOfObj[$arrKeys] ); display( $arrOfObj['m_strEmailAddress'] );