Я использую simplexml, чтобы взять страницу результатов xml и превратить ее в массив.Затем я использую цикл foreach для просмотра записей массива.
Проблема в том, что если в массиве есть только один результат, то цикл foreach не выполняется, не отображает никакой информации.
Я должен определить, существует ли только одна строка или несколько строки в зависимости от этого либо использовать цикл foreach, либо нет.
Хотел посмотреть, есть ли более простой способ, поэтому у меня не так много кода, и все вписывается в цикл foreach.
Вот пример:
$result = $data->params->results;
$result_count = intval($data->params->totalcount);
if($result_count > 1)
{
foreach(results AS $curr_result)
{
$result_name = $curr_result->name;
}
}
else if($result_count == 1)
{
$result_name = $result->name;
}
Редактировать: Я добавил переменную результатов, это пример кода, и в моем случае я не стал делать код, чтобы сделатьуверен, что это было правильно.Если есть только один результат, массив выглядит так:
["fld1"]=>
string(6) "value1"
["fld2"]=>
string(6) "value2"
["fld3"]=>
string(6) "value3"
If there is more than one result it looks like this:
[0]=>
["fld1"]=>
string(6) "value1"
["fld2"]=>
string(6) "value2"
["fld3"]=>
string(6) "value3"
[1]=>
["fld1"]=>
string(6) "value1"
["fld2"]=>
string(6) "value2"
["fld3"]=>
string(6) "value3"
Опять же простой пример. Я уверен, что приведенный выше код не является «правильным», но он должен дать достаточно информации, чтобы понять, о чем я говорю.