PHP的MySQL字符串字段转换为数字阵列
问题描述:
我具有与从现场从MySQL表阵列的PHP文件的问题:PHP的MySQL字符串字段转换为数字阵列
printf的后<?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'] . ' ');
}
}
结果(只用于显示的值)为:
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
如果我手动设置这个数组我AjaxChat网站工作正常(while循环之后),但我至少有40个用户配置是这样的:
$users[1]['channels'] = array(0, 1);
$users[2]['channels'] = array(0, 1);
$users[3]['channels'] = array(0);
...
Channels
字段类型(在MySQL表中)为VARCHAR大小255,值为0
或0,1
。
答
可以简单地检查$ rGuID [“通道”]字符串的大小和基于可直接分配阵列(0)或阵列(0,1)到用户阵列中的环上