Foreach注意:数组到字符串转换

时间:2016-09-22 21:49:07

标签: php arrays pdo foreach notice

<?php

include "baglan.php";
class Dizi {    

public function dizis(){
    return $this->dizi;
}
}
$query2 = $db->query("SELECT * FROM diziler ");
$query2->setFetchMode(PDO::FETCH_CLASS, 'link');

foreach($query2 as $row){
    echo $row;
    break;
}


?>

我认为我做的一切正确,但收到错误:

  

注意:第14行的C:\ xampp \ htdocs \ xampp \ dizimag \ new.php中的数组到字符串转换

     

阵列

尝试了所有事情,但我想我对foreach做错了但我在任何地方找不到它。

 class Uye {

  public function adsoyad(){
    return $this->uye_ad . ' ' . $this->uye_soyad;
  }

  public function rutbe(){
  if ( $this->uye_rutbe == 1 )
     return 'Yönetici';
  else
     return 'Üye';
}

}

$query = $db->query("SELECT * FROM uyeler");
$query->setFetchMode(PDO::FETCH_CLASS, 'Uye');

foreach ( $query as $row ){
print $row->adsoyad() . ': ' . $row->rutbe() . '<br />';
}

这段代码非常完美。我哪里弄错了?我做了同样的事情? :S

1 个答案:

答案 0 :(得分:1)

您收到Array to string conversion错误,因为PDO在第14行返回$row数组:

foreach($query2 as $row){
    echo $row; // <- this is an array, echo'ing it will fail
    break;
}

要了解如何使用PDO :: FETCH_CLASS,我建议你研究这里给出的例子: