чтение двух rss/xml файлов на одной php-странице - xml
У меня есть 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
- mrpatg
3 ответа
Это полностью зависит от того, что делает simplexml_load_string
. Предположим, что реализация использует глобальные переменные:
function simplexml_load_string() {
global $a;
$a++; /* were increasing the global value of $a each time the function is called */
}
Он определенно выдает неидентифицированное поведение.
Кроме того, локальные хранилища переменных будут удаляться и помещаться в стек каждый раз.
- 22 апр 2020 2020-04-22 20:02:12
- Luca Matteis
Совсем нет. Присвоение нового значения переменной полностью перезаписывает первое значение. Код, который вы опубликовали, должен работать нормально.
- 22 апр 2020 2020-04-22 20:02:12
- zombat