在foreach循环中PHP未定义的索引毫无意义

时间:2016-11-03 22:59:16

标签: php html

这个错误毫无意义。以下是代码块和我的解释。

<?php foreach($rows as $value): ?>
                              <?php   echo $value['authorname'] . "<br />\n";?>
                              <?php   echo $value['title'] . "<br />\n";?>
                              <?php   echo $value['rating'] . "<br />\n";?>
                              <?php   echo $value['imagelocation'] . "<br />\n";?>
                    
                            <div class="block">
                                <div class="row">
                                    <div class="col-md-4 col-md-8">
                                        <div class="widget-block">
                                            <input id="rate1" value="<?php echo $value['rating'];?>" type="number" class="rating" data-max="5" data-min="0"  data-size="sm" data-show-clear="false" readOnly="readOnly">
                                            <a href="<?php echo $value['sellerssite'];?>" target="#"><img class="img-responsive wow fadeInLeftBig animated" data-wow-duration="1.5s" src=<?php echo $value['$imagelocation'];?> alt=<?php echo $value['$authorname'];?>></a>
                                            <br>
                                            <a href="<?php echo $value['sellerssite'];?>" class="btn btn-success" target="_blank">Buy this book</a>
                                        </div>
                                    </div>
                                    <div class="col-md-6 col-md-8">
                                        <div class="section-sub-title">
                                            <article class="section-title-body white">
                                                <h1 class="head-title">Author: <span><?php echo $value['$authorname'];?> -</span> <?php echo $value['$title'];?></h1>
                                                <span class="point-line hidden-xs hidden-sm"></span>
                                                <p>
                                                    <?php echo $value['$review'];?>
                                                </p>
                                            </article>
                                        </div>
                                    </div>
                                </div>   
                            </div>
                        <?php endforeach; ?>

foreach循环开始后的echo语句打印出每个变量。直到我们开始讨论html存在问题。

此代码从数据库中提供数据数组,然后根据数据量构建html代码块。在这种情况下,我拉8条记录,因此这个循环创建了8个这个代码块的副本。令人沮丧的是变量“$ rating”在所有8个块中注入,但是即使它们在echo语句中在页面上正确打印,也没有其他变量。

也许这是变量中的数据?例如,在解析代码时,评估的第一个变量是$ rating并且有效。下一个是img标签$ imagelocation中的src属性,其实际值为img \ book_covers \ TrueConviction.jpg

是_和。特殊字符导致问题?我的返回值将为_。 \和空格。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我是对的,它是变量中的数据。答案是urldecode。这解决了我的问题。我对所有变量都这样做了。

<?php   $cleanauthorname = urldecode($value['authorname']);?>

感谢大家的帮助。