Цикл по массивам JSON с использованием PHP [duplicate]

Вы можете сделать это в одном запросе. Сначала вы запускаете счетчик и внутри него запускаете функцию limit ().

В Node.js и Express.js вам придется использовать его так, чтобы использовать функцию «count» с результатом «toArray».

var curFind = db.collection('tasks').find({query});

Затем вы можете запустить две функции после этого, как это (один вложен в другой)

curFind.count(function (e, count) {

// Use count here

    curFind.skip(0).limit(10).toArray(function(err, result) {

    // Use result here and count here

    });

});
0
задан BellenBlaasBoss 16 January 2019 в 19:28
поделиться

1 ответ

Таким образом, у вас есть два метода, которые вы можете сделать здесь, когда я запускаю

$base = "https://pokeapi.co/api/v2/pokemon/";
$id = 1;
$data = file_get_contents($base.$id."/");
$pokemon = json_decode($data);

print_r($pokemon->moves[0]);

Я получаю результат:

stdClass Object
(
    [move] => stdClass Object
        (
            [name] => razor-wind
            [url] => https://pokeapi.co/api/v2/move/13/
        )

    [version_group_details] => Array
        (
            [0] => stdClass Object
                (
                    [level_learned_at] => 0
                    [move_learn_method] => stdClass Object
                        (
                            [name] => egg
                            [url] => https://pokeapi.co/api/v2/move-learn-method/2/
                        )

                    [version_group] => stdClass Object
                        (
                            [name] => crystal
                            [url] => https://pokeapi.co/api/v2/version-group/4/
                        )

                )

            [1] => stdClass Object
                (
                    [level_learned_at] => 0
                    [move_learn_method] => stdClass Object
                        (
                            [name] => egg
                            [url] => https://pokeapi.co/api/v2/move-learn-method/2/
                        )

                    [version_group] => stdClass Object
                        (
                            [name] => gold-silver
                            [url] => https://pokeapi.co/api/v2/version-group/3/
                        )

                )

        )

)

Если вы хотите получить доступ к имени ходов, у вас будет запустить $pokemon->moves[0]->move->name, так как мы получаем возвращенный объект. Если вы хотите получить имя внутри move_learn_method для version_group_details, вам нужно будет запустить

$pokemon->moves[0]->version_group_details[0]-> move_learn_method->name

В качестве альтернативы, если вы хотите вернуть все массивы вместо объектов, просто запустите эту

    $base = "https://pokeapi.co/api/v2/pokemon/";
    $id = 1;
    $data = file_get_contents($base.$id."/");
    $pokemon = json_decode($data, true);

    print_r($pokemon['moves'][0]);

Теперь это будет возвращать

Array
(
    [move] => Array
        (
            [name] => razor-wind
            [url] => https://pokeapi.co/api/v2/move/13/
        )

    [version_group_details] => Array
        (
            [0] => Array
                (
                    [level_learned_at] => 0
                    [move_learn_method] => Array
                        (
                            [name] => egg
                            [url] => https://pokeapi.co/api/v2/move-learn-method/2/
                        )

                    [version_group] => Array
                        (
                            [name] => crystal
                            [url] => https://pokeapi.co/api/v2/version-group/4/
                        )

                )

            [1] => Array
                (
                    [level_learned_at] => 0
                    [move_learn_method] => Array
                        (
                            [name] => egg
                            [url] => https://pokeapi.co/api/v2/move-learn-method/2/
                        )

                    [version_group] => Array
                        (
                            [name] => gold-silver
                            [url] => https://pokeapi.co/api/v2/version-group/3/
                        )

                )

        )

)

Таким образом, вместо использования средства доступа к объекту -> вы можете получить доступ к данным, используя обозначение массива, поэтому вместо

[ 117]

теперь вы можете использовать:

$pokemon['moves']['version_group_details'][0]['move_learn_method']['name']

Надежда, которая помогла.

0
ответ дан Solomon Antoine 16 January 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: