数组语句的问题

时间:2015-07-23 16:18:03

标签: php

你好朋友我的问题是Statement两个字符串

$i=0;
$arr['LAM'] = preg_replace('/\s+/', 'D', $arr['LAM']); 
print_r($arr);
///Array ( [id] => 123 [LAM] => D )

echo '_'.$arr['LAM'].'_';
///_D_
if($arr['LAM']!='D'){
$i++;
}
echo $i;
//1

为什么$ i == 1?

1 个答案:

答案 0 :(得分:1)

这可以按预期工作:

<?php

$i=0;

$arr = array('id' => 123, 'LAM' => ' ');
$arr['LAM'] = preg_replace('/\s+/', 'D', $arr['LAM']);

print_r($arr);
// Array ( [id] => 123 [LAM] => D )

echo '_'.$arr['LAM'].'_';
// _D_

if($arr['LAM'] != 'D'){
  $i++;
}

echo $i;
// 0

?>

请注意,正则表达式/\s+/只会替换空白字符。所以有可能你的'D'虽然看起来像'D',但实际上包含其他内容。我们不知道您对此代码的目标是什么,但看起来您应该根据输入改进正则表达式。