чтение двух rss/xml файлов на одной php-странице - xml


0

У меня есть script, где мне нужно вытащить два отдельных и разных RSS-канала, разбить их, назначить переменные и выполнить код, отличный для каждого файла.

Что мне интересно, и я не знаю, возможно ли это сделать, но как только я использую функцию и даю ей настройки, могу ли я снова использовать эту функцию с разными настройками, хотя некоторые ее внутренние переменные будут иметь разные значения?

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

$xml = simplexml_load_string($raw_xml);

foreach($xml->channel as $channel)

тогда я запустил

$xml = simplexml_load_string($raw_xml2);

foreach($xml->item as $item)

Я получу ошибки или избыточные данные, потому что я повторно использовал переменную XML?

Источник
  •  20
  •  3
  • 22 апр 2020 2020-04-22 20:02:11

3 ответа

0

Это полностью зависит от того, что делает simplexml_load_string. Предположим, что реализация использует глобальные переменные:

function simplexml_load_string() {
    global $a;
    $a++; /* were increasing the global value of $a each time the function is called */ 
}

Он определенно выдает неидентифицированное поведение.

Кроме того, локальные хранилища переменных будут удаляться и помещаться в стек каждый раз.

0

Просто назначьте его другой переменной. Очень легко.

3

Совсем нет. Присвоение нового значения переменной полностью перезаписывает первое значение. Код, который вы опубликовали, должен работать нормально.

  • 22 апр 2020 2020-04-22 20:02:12