Уведомление: неопределенный индекс: сегментация в PHP?

#php #mongodb

#php #mongodb

Вопрос:

Я использовал MongoDB с PHP, я должен попытаться получить документ из коллекции Mongo с помощью следующего PHP-кода PHP-КОДА

 $manager = new MongoDBDriverManager("mongodb://localhost:27017");
$query = new MongoDBDriverQuery([]);
$cursor = $manager->executeQuery('trends.trends_new_collection', $query);
$cursor->setTypeMap(['root' => 'array']);

$doc = $cursor->toArray();

echo "<pre>";print_r($doc['Segmentation']);echo "</pre>";
  

если я использую echo "<pre>";print_r($doc);echo "</pre>"; , я получу результат

 Array
(
    [0] => Array
        (
            [_id] => 1
            [Trends] => Youthful Truths
            [Segmentation] => stdClass Object
                (
                    [Lifestyle] => stdClass Object
                        (
                            [SEC] => Array
                                (
                                    [0] => SEC A
                                )

                            [LSM] => stdClass Object
                                (
                                    [10-12] => 235
                                    [13-15] => 585
                                    [16-18] => 525
                                )

                        )

                    [Generation] => stdClass Object
                        (
                            [Global] => Array
                                (
                                    [0] => Gen Z
                                    [1] => Millennials
                                    [2] => Gen X
                                )

                            [India] => Array
                                (
                                    [0] => Gen Z
                                    [1] => Millennials
                                    [2] => Liberalized Gen
                                )

                        )

                )

            [Location] => stdClass Object
                (
                    [Global] => Array
                        (
                        )

                    [Country] => Array
                        (
                            [0] => india
                        )

                    [UrbanRural] => Array
                        (
                            [0] => urban
                        )

                )

            [Relevance] => stdClass Object
                (
                    [HoriZontal] => Array
                        (
                            [0] => Marketing
                            [1] => Branding
                        )

                )
...etc
  

если я использую echo "<pre>";print_r($doc['Segmentation']);echo "</pre>"; ошибку i gor
Notice: Undefined index: segmentation in Как получить доступ к «объекту stdClass»? Как получить доступ к этому результату в Php с помощью Mongodb?

Ответ №1:

Это 2D-массив. Пожалуйста, используйте echo $doc[0]['Segmentation'];

Способ 2:-

 $doc = json_decode(json_encode($doc), true);

echo $doc['Segmentation'];
  

Комментарии:

1. К V Это сработало, но как получить доступ stdClass Object ?

2. Попробуйте сделать следующее $value = $doc (array);