Если вы не используете третий параметр 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
}