因为php是弱类型
所以 就算是你认为是string类型的数据,当你需要它是int的时候,php就会把它处理成int。
举个例子吧
假如你mysql存了一个char类型的“10”
然后 赋给了$a
再后 print($a+1)
结果会是11。
即是说php根本不在乎它是何种类型。
如果你希望得到101这种结果你应该写 print($a.'1')
打开数据库那就不写了。
前几天刚写了一个。你看下
/* 表结构
CREATE TABLE `lh_categroy` (
`id` int(10) NOT NULL auto_increment,
`parentid` int(6) NOT NULL,
`name` varchar(255) NOT NULL,
`keyword` varchar(255) NOT NULL COMMENT '关键字',
`des` varchar(255) NOT NULL COMMENT '描述',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM AUTO_INCREMENT=44 DEFAULT CHARSET=utf8
*/
/**
* 获得所有栏目排序后的列表
* @return array
*/
function getAllOrderColumns($id = 0) {
global $columns
$result = array()
if ($id) $result[$id] = $columns[$id]
foreach ($columns as $column) {
if ($column['parentid'] == $id) {
$column['level'] = 0
$result[$column['id']] = $column
getColumns($columns, $column['id'], $result, 1)
}
}
return $result
}
function getColumns($columns, $cid, &$result, $l = 1) {
foreach ($columns as $c) {
if ($c['parentid'] == $cid) {
$c['level'] = $l
$result[$c['id']] = $c
getColumns($columns, $c['id'], $result, $l + 1)
}
}
}
$sql = 'select * from lh_categroy'
$query = mysql_query($sql)
while($row = mysql_fetch_assoc($query)){
$columns[]=$row
}
$fenlei = ''
$fenlei = '<select name="cid" style="width:200pxheight:25px">
<option value="0">请选择分类</option>'
foreach(getAllOrderColumns() as $v){
$v[name] = $v[level] ? ($v[level]==1 ? '&nbsp&nbsp|-'.$v[name]:'&nbsp&nbsp&nbsp|-'.$v[name]) : $v[name]
$fenlei .= "<option value='$v[id]'>$v[name]</option>"
}
$fenlei .= '</select>'
echo $fenlei
php 获取数据是不需要写类型的,你可以看下边的例子:$name="张三" //这种就是字符串
$age=2 //这种就是数字
$other=array("123",22) //数组
像这些,你定义的什么类型,php就可以接受什么类型。不需要特意转
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)