Есть массив с огромным количеством ключей (массив из xml). Есть 2 переменных: Если в массиве 1 фотография, то выглядит так: Код (Text): $xml[item][~][photos][photo][value]: photo.jpg Если фотографий больше чем 1: Код (Text): $xml[item][~][photos][0][photo][value]: photo1.jpg $xml[item][~][photos][1][photo][value]: photo2.jpg Как определить наверняка, есть ли фотография, а может их много, и вывести все переменные. Пытался сперва: PHP: if($xml[item][~][photos][1][photo][value]) Но он всегда выдавал TRUE. Пробовал измерять длину переменной, но если следующая ступень массива Array() то выдавал 5. Читал манул по массивам, ничего не нашел.
Сделай проще. Приведи к массиву если фото всего одна: Код (Text): if ($xml[item][~][photos][photo][value]){ $xml[item][~][photos][0][photo][value] = $xml[item][~][photos][photo][value]; unset($xml[item][~][photos][photo][value];); } Теперь работай с фотографиями как-будто их всегда много, то есть пропускай через цикл. Ты ведь так поступаешь?
можно попробовать определить количество фото: PHP: <?php echo count( $xml[item][~][photos] );?> либо проверить на существование / пустоту: PHP: <?php var_dump( isset( $xml[item][~][photos] ) ); var_dump( empty ( $xml[item][~][photos] ) ); ?> [/php]