Как упростить код ? Через класс, или функцию. Код (Text): <?php // Создаем массив в котором содержится html1, html2 и т. д. $html = array(); for($i=1; $i<=20; $i++) { // берем 20 данных из xml $html[$i]=$params->get('html'.$i); } $img = array(); for($i=1; $i<=20; $i++) { $img[$i]=$params->get('img'.$i); } $url = array(); for($i=1; $i<=20; $i++) { $url[$i]=$params->get('url'.$i); } $alt = array(); for($i=1; $i<=20; $i++) { $alt[$i]=$params->get('alt'.$i); } ?>
Ну если я правильно понимаю, может не совсем красиво, то все очень просто: Код (Text): function getData($param, $tag, $quantity='20'){ $param = array(); for($i=1; $i<=$quantity; $i++) { $param[$i]=$params->get($tag.$i); } }
А что в $param передавать и как сделать вывод ? в и тоге должно быть 3 массива с которыми можно работать: Код (Text): $img = array($img1=$params->get('img1'), $img2=$params->get('img2'), $img3=$params->get('img3') и т.д.); $html = array($html1=$params->get('html1), $html2=$params->get('html2'), $html3=$params->get('html3') и т.д.); и т.д
А, да, это лишнее. Походу так: Код (Text): function getData($tag, $quantity='20'){ $param = array(); for($i=1; $i<=$quantity; $i++) { $param[$i]=$params->get($tag.$i); } return $param; } Пользуемся: Код (Text): $img = getData('img'); Как-то так...
и получаю массив $param, а надо получить массивы: Код (Text): $img = array($img1=$params->get('img1'), $img2=$params->get('img2'), $img3=$params->get('img3') и т.д.); $html = array($html1=$params->get('html1), $html2=$params->get('html2'), $html3=$params->get('html3') и т.д.); и т.д
Или я не понимаю задачи или все же у вас очень плохо с php. Если мы сделаем Код (Text): getData('img'); мы получим такой масив. Имя переменной разве имеет значение?
Вот так выглядит в оригинале. Задача упростить. Код (Text): $img = array($img1=$params->get('img1'), $img2=$params->get('img2'), $img3=$params->get('img3') и т.д. до 20); $html = array($html1=$params->get('html1), $html2=$params->get('html2'), $html3=$params->get('html3') и т.д. до 20); и т.д примерно 5
Код (PHP): <?php $names = array('html', 'img', 'url', 'alt'); $max = 20; // Магия foreach($names as $name) { ${$name} = array(); for($i = 1; $i <= $max; ++$i) ${$name}[] = $params->get($name . $i); } // Вуа-ля header('Content-Type: text/plain'); print_r($html); print_r($img); print_r($url); print_r($alt); ?>