Вот скрипт, выводит на странице три отзыва посетителей случайным образом(и рисует оценку звездочками). Файлик текстовый, формата: х|х|х|х|
$DB = file('/home/l//test/public_html/book.dat');
$s=1;
$result = array();
foreach($DB as $line) {
$start = $DB[count($DB)-$s];
$pieces = explode("|", $start);
$strlen = mb_strlen($pieces[5],'UTF-8');
if($strlen <= 550 and $pieces[11]!= "" and $pieces[10]!= "") {
$city = "";
if($pieces[3]!= "" and $pieces[3]!= "--") { $city = "($pieces[3])"; }
$html_stars = "";
for ($x=0; $x<$pieces[10]; $x++) {
$html_stars .= "<img src=\"images/guest_stars/star_on.png\" width=\"14\" height=\"14\">";
}
for ($x=0; $x<5-$pieces[10]; $x++) {
$html_stars .= "<img src=\"images/guest_stars/star_off.png\" width=\"14\" height=\"14\">";
}
$result[] = <<<HERE
<div class="item tg-populartour">
<div class="tg-populartourcontent">
<div class="tg-description">
<p>$pieces[1]<br>$pieces[2] $city</p>
</div>
<div class="tg-populartourfoot">
<p>$pieces[5]</p>
$html_stars
<em>(общая оценка: $pieces[10])</em>
</div>
</div>
</div>
HERE;
#if($c > 4) { break; }
}
$s++;
}
shuffle($result);
$rand_keys = array_rand($result, 3);
echo $result[$rand_keys[0]];
echo $result[$rand_keys[1]];
echo $result[$rand_keys[2]];
Условие $strlen <= 550 если уменьшить - результат пустой. Отзывы с длиной меньше этого числа есть 100%! В чем вопрос. Если хоть один $result[$rand_keys[х]] пустой, пустые все. Почему так? Это особенности работы shuffle? Или я чего то не понимаю? Ну пускай два отзыва выведет, один. Если остальные не прошли по условию. Т.е. если поставить, скажем, $strlen <= 400 - всё пусто. А отзывы есть и по 100 символов. Спасибо!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
УчусьРазбираю лекцию ITVDN MVC4 WebApi, вторая лекция
Необходимо написать маску для input на jsСложность заключается в том что в целой части максимум должно быть четыре цифры, а в дробной максимум...