PHP XML Array Slice и обратный или обратный, затем Array Slice - PullRequest
0 голосов
/ 27 июня 2018

Есть файл XML ... на веб-странице отображаются последние 50 новых узлов. Когда вы щелкаете ссылку «показать больше», она добавляет? Узел = к URL, который я $ _get, чтобы изменить начальную точку среза ($ start_node) ... но это не так. Значение изменяется, но срез не работает. Por que?!

$master = array_slice($xml_get->xpath('unit'), $start_node);
$master = array_reverse($master);

$i = 0;

foreach ($master as $arc) {

    $last_data = $arc[0]->data;
    $last_link = $arc[0]->link;

    // doing stuff with values

    $i++;
    if ($i >= 50) {
        break;
    }
}

1 Ответ

0 голосов
/ 27 июня 2018

Если вы не используете третий параметр array_slice(), который представляет собой количество элементов для извлечения, вы получите все записи из начального узла. Когда вы перевернете это и извлечете первые 50, это всегда будет последними 50 из всех узлов.

Таким образом, чтобы извлечь от $start_node до $start_node + 50 ...

$master = array_slice($xml_get->xpath('unit'), $start_node, 50);
$master = array_reverse($master);
foreach($master as $arc) {
    $last_data  = $arc[0]->data;
    $last_link  = $arc[0]->link;

    // doing stuff with values
}
...