有如下语句:
if($row['sex'] == '男') {
$gender = 1;
}else{
$gender = 2;
}echo $gender;$row[]是数据库查询中的一条数据。
现在这条结果中的$row['sex']是“男”,但输出的结果$gender是2,也就是if($row['sex'] == '男') 这个条件根本没有匹配成功。
但是我直接输出$row['sex'],输出的确实是“男”,而且前后都没有空格。后来我又用正则匹配,preg_match('/男/', $row['sex'], $match); 然后var_dump($martch); 输出的结果也是array(0){}怎样匹配中文呢??
if($row['sex'] == '男') {
$gender = 1;
}else{
$gender = 2;
}echo $gender;$row[]是数据库查询中的一条数据。
现在这条结果中的$row['sex']是“男”,但输出的结果$gender是2,也就是if($row['sex'] == '男') 这个条件根本没有匹配成功。
但是我直接输出$row['sex'],输出的确实是“男”,而且前后都没有空格。后来我又用正则匹配,preg_match('/男/', $row['sex'], $match); 然后var_dump($martch); 输出的结果也是array(0){}怎样匹配中文呢??
<?php
$row =array('name'=>'alisss','sex'=>'男');
if($row['sex'] == '男') {
$gender = 1;
}else{
$gender = 2;
}echo $gender;//1
$gender=1;
}else{
$gender=2;
}
echo $gender;
这样写肯定没问题啊我这是从数据库里提的数据,我估计就是编码的问题~
我直接输出$row['sex'],就是“男”