如何在foreach结构中迭代它

时间:2012-12-29 07:03:30

标签: php arrays

这个只覆盖数组中的第一条记录 - $form[items][0][description]
我怎么能迭代这个以便能够回显后续的那些,即

$form[items][1][description];
$form[items][2][description];
$form[items][3][description];

依旧等等?     

$array = $form[items][0][description];

function get_line($array, $line) {
  preg_match('/' . preg_quote($line) . ': ([^\n]+)/', $array['#value'], $match);
  return $match[1];
}

$anchortext = get_line($array, 'Anchor Text');
$url = get_line($array, 'URL');

echo '<a href="' . $url . '">' . $anchortext . '</a>';

?>

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题

foreach ($form['items'] as $item) {
  echo $item['description'] . "<br>";
}

如果我看到get_line函数的主体,我可以帮助你更多,但这里是它的要点

foreach ($form['items'] as $item) {
  $anchor_text = get_line($item['description'], 'Anchor Text');
  $url = get_line($item['description'], 'URL');
  echo "<a href=\"{$url}\">{$anchor_text}</a>";
}

答案 1 :(得分:0)

您可以使用for循环迭代此数组。

for($i=0; $i< count($form['items']); $i++)
{
    $anchortext = get_line($form['items'][$i]['description'], 'Anchor Text');
    $url = get_line($form['items'][$i]['description'], 'URL');
    echo '<a href="' . $url . '">' . $anchortext . '</a>';
}