PHP将MySQL字符串字段转换为数字数组

时间:2015-10-05 20:37:25

标签: php arrays

我在PHP文件中遇到问题,该文件包含来自MySQL表中字段的数组:

<?php 
            require "lib/config.php";
            $users = array();
            error_reporting(0);

            $UTB = $config['dbTableNames']['users'];
            mysql_connect($config['dbConnection']['host'], $config['dbConnection']['user'], $config['dbConnection']['pass']);
                mysql_select_db($config['dbConnection']['name']);
                $GuID = mysql_query("SELECT ID, Channels FROM $UTB");

                if (mysql_affected_rows() == 1) {
                    while ($rGuID = mysql_fetch_array($GuID)) {        
                        $uID = $rGuID['ID'];     
                        $users[$uID]['channels'] = array($rGuID['Channels']);
                        printf($rGuID['Channels'] . ' ');
                    }
                }

printf(仅用于显示值)后的结果是:

0,1 0,1 0 0,1 0,1 0,1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

如果我手动设置此数组(在while循环之后),我的AjaxChat网站工作正常,但我至少有40个用户配置如下:

    $users[1]['channels'] = array(0, 1);
    $users[2]['channels'] = array(0, 1);
    $users[3]['channels'] = array(0);
...

Channels字段类型(在MySQL表中)是VARCHAR,大小为255,值为00,1

1 个答案:

答案 0 :(得分:0)

您只需检查 $ rGuID [&#39;渠道&#39;] 字符串的大小,并根据该字符串直接分配数组(0)或数组(0,1)到循环中的用户数组