У меня есть многомерный массив, называемый $alternative
, который содержит слова.
Этот массив динамически генерируется, иногда может быть только 3 слова, иногда может быть 300 слов.
В приведенном ниже коде я выводил слова из массива на веб-страницу.
Как я могу ограничить вывод, чтобы сказать, 10 слов?
foreach ($alternative as $test) { foreach ($test as $test2) { $test3 = ucwords($test2); //Capitalizes first letter of each word printf('<li><a href="related.php?query=%1$s" title="%1$s" >%1$s</a></li>', $test3); } }
В настоящий момент в некоторых случаях отображается слишком много слов, и я хотел бы ограничить это до десяти слов.
Я не могу придумать, как это сделать. Есть ли у кого-нибудь предложения?
Спасибо, парни.
$counter = 0; foreach ($alternative as $test) { foreach ($test as $test2) { $test3 = ucwords($test2); //Capitalizes first letter of each word printf('<li><a href="related.php?query=%1$s" title="%1$s" >%1$s</a></li>', $test3); if (++$counter > 10) { break 2; } } }
вы можете поставить счетчик внутри, как:
$counter = 0 ; foreach ($alternative as $test) { foreach ($test as $test2) { $test3 = ucwords($test2); //Capitalizes first letter of each word printf('<li><a href="related.php?query=%1$s" title="%1$s" >%1$s</a></li>', test3); if(counter == 9 ) { break; }else{ counter++; } } }
Просто. Внедрите счетчик. В приведенной ниже реализации будет выложено 10 слов <li>
для каждого набора альтернативных объектов.
foreach ($alternative as $test) { $count = 0; foreach ($test as $test2) { if ($count >= 10) break; $test3 = ucwords($test2); //Capitalizes first letter of each word printf('<li><a href="related.php?query=%1$s" title="%1$s" >%1$s</a></li>',$test3); $count++; } }
Всего всего 10 <li>
элементов, посмотрите на другой ответ!
Вы можете просто использовать счетчик и увеличивать его каждый раз, когда вы печатаете слово. Вот краткий пример:
$max_words = 10; $nb_words = 0; foreach ($alternative as $test) { foreach ($test as $test2) { $test3 = ucwords($test2); //Capitalizes first letter of each word printf('<li><a href="related.php?query=%1$s" title="%1$s" >%1$s</a></li>', $test3); $nb_words++; if($nb_words >= $max_words) break; } if($nb_words >= $max_words) break; }