Ответ 1
Предполагая, что у вас есть какие-то тестовые массивы, похожие на это:
$array1 = array ( "url"=>"http://example.com", "text"=>"Parent","separator"=>" ");
$array2 = array ( "url"=>"http://example.com", "text"=>"Child","separator"=>" ");
$breadcrumbs = array ($array1,$array2);
Я изменил ваш код следующим образом:
$output = "<div class='breadcrumb'><ul><li>";
$itemType = "itemtype='http://data-vocabulary.org/Breadcrumb'";
foreach ($breadcrumbs as $key=>$value) {
if ($key != 0) {
$itemProp = "itemprop='child'";
$output .= "<li>";
} else {
$itemProp = '';
}
$output .= "<div $itemProp itemscope $itemType>";
$output .= " <a href='{$value['url']}' itemprop='url'>";
$output .= " <span itemprop='title'>";
$output .= " {$value['text']}";
$output .= " </span>";
$output .= " </a>";
$output .= "</div>";
if ($key != 0) {
$output .= "</li>";
} else {
$output .= "<ul>";
}
}
$output .= '</ul></li></ul></div>';
echo $output;
Что дает
<div class='breadcrumb'>
<ul>
<li>
<div itemscope itemtype='http://data-vocabulary.org/Breadcrumb'>
<a href='http://example.com' itemprop='url'>
<span itemprop='title'>Parent</span>
</a>
</div>
<ul>
<li>
<div itemprop='child' itemscope itemtype='http://data-vocabulary.org/Breadcrumb'>
<a href='http://example.com' itemprop='url'>
<span itemprop='title'>Child</span>
</a>
</div>
</li>
</ul>
</li>
</ul>
</div>
Я делаю некоторые предположения о вашем форматировании стартового массива, но это должен быть работоспособный формат для вас, чтобы настроить его и удовлетворить ваши потребности.