Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将结果从PDO::fetchAll()转换为数组_Php_Database_Arrays_String_Pdo - Fatal编程技术网

Php 将结果从PDO::fetchAll()转换为数组

Php 将结果从PDO::fetchAll()转换为数组,php,database,arrays,string,pdo,Php,Database,Arrays,String,Pdo,我有一个数据库中的姓名列表 我正在尝试转换来自PDO::fetchAll函数的结果,以获得类似字符串的结果: 名称1、名称2、名称3等 我不知道你是否明白我的意思 谢谢大家的帮助 发现这个,天知道在哪里,很久以前就完成了这个任务。我希望您觉得这对您有所帮助: /** * Formats a line (passed as a fields array) as CSV and returns the CSV as a string. * Adapted from http://us3.

我有一个数据库中的姓名列表

我正在尝试转换来自PDO::fetchAll函数的结果,以获得类似字符串的结果:

名称1、名称2、名称3等

我不知道你是否明白我的意思


谢谢大家的帮助

发现这个,天知道在哪里,很久以前就完成了这个任务。我希望您觉得这对您有所帮助:

 /**
  * Formats a line (passed as a fields  array) as CSV and returns the CSV as a string.
  * Adapted from http://us3.php.net/manual/en/function.fputcsv.php#87120
  */
function arrayToCsv( array &$fields, $delimiter = ';', $enclosure = '"', $encloseAll = false, $nullToMysqlNull = false ) {
    $delimiter_esc = preg_quote($delimiter, '/');
    $enclosure_esc = preg_quote($enclosure, '/');

    $output = array();
    foreach ( $fields as $field ) {
        if ($field === null && $nullToMysqlNull) {
            $output[] = 'NULL';
            continue;
        }

        // Enclose fields containing $delimiter, $enclosure or whitespace
        if ( $encloseAll || preg_match( "/(?:${delimiter_esc}|${enclosure_esc}|\s)/", $field ) ) {
            $output[] = $enclosure . str_replace($enclosure, $enclosure . $enclosure, $field) . $enclosure;
        }
        else {
            $output[] = $field;
        }
    }

    return implode( $delimiter, $output );
}
手册页面包含的代码可以让您获得易于内爆的一维数组

$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
您还可以使用Mysql的group_concat函数从SQL中获取字符串


但是,了解数据的目的地是至关重要的。

请提供查询的示例输出,无论如何,您将使用一个好的ol'内爆函数。请编辑您的问题以包括代码的相关部分,以便有人可以帮助您。此名称1、名称2、名称的目的地是什么,名称3字符串?你当然只是猜测OP对CSV输出感兴趣…他是这么说的,decezeCtrl+F,CSV。。。您的答案是本页唯一提到CSV的内容。。。?!引用OP是因为有人显然没有读到:我正在尝试转换来自PDO::fetchAll函数的结果,以获得类似字符串的结果:name1、name2、name3等等。在我看来,这看起来像CSV。它看起来像CSV,但OP可能只是想要一个一维数组……太完美了,非常感谢!请注意,FETCH_COLUMN实际上只获取1列,即使SQL语句本身可能每行返回多个列