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


PHP convert MySQL string field to numeric array

我有一个问题,在一个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

您可以简单地检查$rGuID['channels'] string的大小,并在此基础上直接将array(0)或array(0,1)分配给循环中的用户数组