这里使用的最佳类型的数组/循环是什么?

时间:2014-08-20 11:49:13

标签: php html arrays

我们说我有一个简单的标记。

<div class="wrapper" id=" <?php echo $id; ?> ">
  <div class="title"> <?php echo $title; ?> </div>
  <div class="inner-text"> <?php echo $inner-text; ?> </div>
</div>

我有一长串标题,id和内部文本需要插入变量所在的位置,这段代码需要重复至少50-100次。(目前没有固定金额) 每个$ id,$ title和$ inner-text都不是随机的。

示例:

这是一辆快车


这就是它们的表现方式

$ id = car

$ title = car

$ inner-text =这是一辆快车

如何将每组三个信息分配给单个变量,然后将它们放入<div>并循环遍历它们,直到列表中没有剩余的为止。

如果您不明白我的意思,那么请考虑使用mysql数据库中的关联数组进行while循环

我希望做同样的事情,但只是没有数据库部分

5 个答案:

答案 0 :(得分:1)

创建一个包含数组的数组:

$array = array(

array('id' => 1,
        'title' => 'somename'),
        'innertext' => 'sometext'),

array('id' => 1,
        'title' => 'somename'),
        'innertext' => 'sometext')
);

然后您可以轻松地查看它,如

foreach($array as $row) {

    $id = $row['id'];
    $title = $row['title'];
    $innertext = $row['innertext'];
}

答案 1 :(得分:0)

假设您使用查询检索数据。

$query = "SELECT id, title, inner_text FROM table";
$result = mysqli_query($link,$query); //Be sure to establish the mysqli instance in your header or configuration file.

while($row = mysqli_fetch_assoc($result))
{
    echo '<div class="wrapper" id="'. $row['id'] .'">';
        echo '<div class="title">'. $row['title']; .'</div>';
        echo '<div class="inner-text">'. $row['inner_text'] .'</div>';
    echo '</div>';
}

这是使用php生成html代码的基本方法之一。另一种方法是使用带有预填充数据的嵌套数组。

您可以在阵列上使用foreach循环并以相同的方式生成它。我不知道你是否有一个预制的阵列,但如果你向我展示,我可以编辑我的答案并举例。

答案 2 :(得分:0)

首先,您应该将这些变量放在数组中。例如:$ data = array(&#39; id&#39; =&gt; someid, &#39;标题&#39; =&GT; sometitle,....等等 )

接下来你应该按照以下方式进行foreach循环:

<?php foreach($data as $rows_of_data_array) : ?>

 <div class="wrapper" id=" <?=$rows_of_data_array['id']; ?> ">
   <div class="title"> <?=$rows_of_data_array['title']; ?> </div>
   <div class="inner-text"> <?=$rows_of_data_array['inner-text']; ?> </div>
 </div>

<?php endforeach?>

答案 3 :(得分:0)

如果您有一个对象数组

foreach($myArrayOfObjects as $object){
?>
<div class="wrapper" id="<?php echo $object->id; ?> ">
        <div class="title"><?php echo $object->title; ?> </div>
        <div class="inner-text"><?php echo $object->innerText; ?> </div>
</div>
<?php
}

如果您有一个数组(多维数组)数组:

foreach($myArrayOfcontentArrays as $contentArray){
?>
<div class="wrapper" id="<?php echo $contentArray['id']; ?> ">
        <div class="title"><?php echo $contentArray['title']; ?> </div>
        <div class="inner-text"><?php echo $contentArray['inner-text']; ?> </div>
</div>
<?php
}

如果你有3个正确索引和相同大小的数组($ ids,$ titles和$ innerTexts):

for ($i= 0; $i < count($ids), $i++){
?>
<div class="wrapper" id="<?php echo $ids[$i]; ?> ">
        <div class="title"><?php echo $titles[$i]; ?></div>
        <div class="inner-text"><?php echo $innerTexts[$i]; ?> </div>
</div>
<?php   
}

答案 4 :(得分:0)

使用多维数组。

$array=array(
  array(0 =>'id', 1 =>'title', 2=>'inner-text'),
  array(0 =>'id1', 1 =>'title1', 2=>'inner-text1'),
  array(0 =>'id2', 1 =>'title2', 2=>'inner-text2')
);

$c=count($array); //the value of this is 3

for($i=0; $i<$c; $i++){
  foreach($array as $key => $value){
    echo $array[$i][$key]. "<br />";
  }
}