php foreach($row as id=>$val),MySQL整数字段在PHP中作为字符串返回

我的解决方案是传递查询结果$rs并获取转换数据的关联数组作为返回:

function cast_query_results($rs) {

$fields = mysqli_fetch_fields($rs);

$data = array();

$types = array();

foreach($fields as $field) {

switch($field->type) {

case 3:

$types[$field->name] = 'int';

break;

case 4:

$types[$field->name] = 'float';

break;

default:

$types[$field->name] = 'string';

break;

}

}

while($row=mysqli_fetch_assoc($rs)) array_push($data,$row);

for($i=0;$i

foreach($types as $name => $type) {

settype($data[$i][$name], $type);

}

}

return $data;

}用法示例:

$dbconn = mysqli_connect('localhost','user','passwd','tablename');

$rs = mysqli_query($dbconn, "SELECT * FROM Matches");

$matches = cast_query_results($rs);

// $matches is now a assoc array of rows properly casted to ints/floats/strings

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值