скажем, у меня есть эта переменная:
$my_query_object = $previous_connection->query($my_query);
что объект mysqli_result
соответствии с php.net имеет несколько методов и эти свойства:
int $current_field ;
int $field_count;
array $lengths;
int $num_rows;
круто.. но если я
print_r($my_query_object)
Я получаю это свойство [type] => 0
в конце описания объекта
Вопрос 1: что это за свойство и почему он не упоминался на странице mysqli_result
?!
Вопрос 2: как я могу печатать/эхо/лог/перечислять МЕТОДЫ И СВОЙСТВА объекта, и если я не могу сделать оба вместе (свойства и методы печати в одной команде), по крайней мере, как я могу напечатать методы объекта, устал от того, чтобы идти туда и обратно на php.net, чтобы проверить анатомию объекта.
Спасибо
Хорошо, после небольшого исследования я обнаружил, что
[type] => 0
представляет константу MYSQLI_STORE_RESULT
[type] => 1
представляет константу MYSQLI_USE_RESULT
для получения дополнительной информации о поведении этих констант проверьте этот ответ.
В отличие от ответа Obsidian Age число не представляет тип массива и не является ли оно ассоциативным или числовым, а resultmode
метода query()
Это лучше всего объяснить в документах для fetch-all
:
resulttype
Этот необязательный параметр является константой, указывающей, какой тип массива должен быть получен из данных текущей строки. Возможными значениями для этого параметра являются константы
MYSQLI_ASSOC
,MYSQLI_NUM
илиMYSQLI_BOTH
.
Чтобы получить свойства объекта, вы можете использовать get_object_vars()
:
class foo { private $a; public $b = 1; public $c; private $d; static $e; public function test() { var_dump(get_object_vars($this)); } } $test = new foo; var_dump(get_object_vars($test)); $test->test();