【问题标题】:how can i return array from class/function with foreach in PHP如何在 PHP 中使用 foreach 从类/函数返回数组
【发布时间】:2018-10-21 22:11:57
【问题描述】:

大家好,我正在尝试使用类实现 PDO 连接。我想这样做:

//The Query
$ctrl  = ("SELECT * FROM table WHERE uye_ad = ?");
$query = new BerkaySimsek();
$val   = $sorgu->select($ctrl,"aa","uye_soyad");

//The Class
public function select($sorgu,$deger,$yazdirilacak)
{
    $bos = array();
    $sorgu = $this->db->prepare($sorgu);
    $sorgu->execute(array($deger));
    $sorgu = $sorgu->fetchAll();
    foreach($sorgu as $deger) {
        $bos[] = $deger;
    }
    return $bos;
}

【问题讨论】:

  • 附加到数组而不是分配它:$bos[] = $deger; 或 array_push($bos, $deger)` 从功能上讲,您的代码是正确的,只是您在每次迭代时都覆盖了 $bos。跨度>
  • 我会指出,你不应该在这里需要一个 foreach 循环,因为你没有操纵来自fetchAll() 的输出。你可以直接退货! return $sorgu->fetchAll();
  • 蒂迈克尔·伯科夫斯基。完成
  • 另外 $yazdirilacak 从未使用过。为什么使用它 dostum :)
  • @DORE 如果您不喜欢变量使用中的额外对象; $sorgu->fetchAll(PDO::FETCH_ASSOC);

标签: php function class pdo foreach


【解决方案1】:

萨拉姆, 你的代码

foreach($sorgu as $deger) {
    $bos[] = $deger;
}

我的回答

foreach($sorgu as $deger) {
    array_push($bos,$deger);
}

reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2013-05-15
    • 2016-10-08
    • 1970-01-01
    • 2018-04-11
    相关资源
    最近更新 更多