使用foreach获取用户的名称

时间:2017-10-29 12:58:16

标签: php

我想恢复下面查询返回的名称(它是代码的一部分):

      while ($info = $q->fetch(PDO::FETCH_OBJ)) {
         foreach(array_chunk($info, 5) as $info){
echo ' <div class="user-block" style="display: inline-block;">

                     <h4>'.$info->name.'</h4>    
              </div> ';             
             }      
     }

但我明白了:

  

错误:警告:array_chunk()期望参数1是数组,对象   给出错误:警告:为foreach()提供的参数无效

2 个答案:

答案 0 :(得分:0)

两种可能性:

a)尝试使用PDO :: FETCH_ASSOC而不是PDO :: FETCH_OBJ。并将$ info-&gt;名称更改为$ info [&#39; name&#39;]

b)您只能从返回的查询中获得1个结果,因此它不是数组。删除foreach循环

答案 1 :(得分:0)

我已经用过了:

    <?php  $listes_amis = liste_amis_commun_profil_clique();  ?>
    <?php foreach(array_chunk($listes_amis, 5) as $liste_amis):  ?>
      <div>
        <?php foreach($liste_amis as $liste_ami):  ?>
          <div class="user-block" style="display: inline-block;">
            <a href="voir_profil.php?id=<?php echo $liste_ami->id;?>"> 
                 <img  src="../members/<?php echo $liste_ami->id?>/avatar/<?php echo $liste_ami->avatar; ?> " style='margin:  3px; width: 150px; height: 150px;' class="img-circle" /> 
                 <h4 style="font-size: 20px; color: green; text-align: center; margin-top: -2px;" > <?php if(strlen($liste_ami->nom ."+".$liste_ami->prenom) > 15) echo substr($liste_ami->prenom,0,-10).'...'; else echo $liste_ami->prenom ." ".$liste_ami->nom; ?> </h4>
            </a>
          </div>           
        <?php endforeach ?> 
      </div>
    <?php endforeach ?>

这里效果很好