Что представляет собой свойство type в объекте mysqli_result? - PullRequest
0 голосов
/ 13 сентября 2018

допустим, у меня есть эта переменная:

$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: как мне распечатать / echo / log / list МЕТОДЫ и СВОЙСТВА объекта и если я не могу сделать оба вместе (печатать свойства и методы в одной команде) хотя бы как можно распечатать методы объекта, надоело переходить на php.net туда-сюда только для проверки анатомии объекта ..

спасибо

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Хорошо, после небольшого исследования я обнаружил, что

[type] => 0 представляет MYSQLI_STORE_RESULT константу
[type] => 1 представляет MYSQLI_USE_RESULT константу
для получения дополнительной информации о поведении этих константотметьте этот ответ .

В отличие от ответа Obsidian Age число не соответствует типу массиваи является ли это ассоциативным или числовым, но resultmode метода query()

0 голосов
/ 13 сентября 2018

Это лучше всего объяснить в документах для 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...