PHP无法识别字符串,这将显示一个数字

PHP无法识别字符串,这将显示一个数字,php,Php,我从mysql数据库中获取任何数据,并将其保存在数组中,以便在txt文件中使用: $bpac[] = '03' . $bpa['cnes'] . date('Ym', strtotime($bpa['data'])) . $bpa['cns_medico'] . $bpa['co_ocupacao'] . date('Ymd', strtotime($bpa['data'])) . str_pad($folha, 3, "0", STR_PAD_LEFT) . str_pad($linha, 2

我从mysql数据库中获取任何数据,并将其保存在数组中,以便在txt文件中使用:

$bpac[] = '03' . $bpa['cnes'] . date('Ym', strtotime($bpa['data'])) . $bpa['cns_medico'] . $bpa['co_ocupacao'] . date('Ymd', strtotime($bpa['data'])) . str_pad($folha, 3, "0", STR_PAD_LEFT) . str_pad($linha, 2, "0", STR_PAD_LEFT) . $bpa['co_procedimento'] . $bpa['cns_paciente'] . $bpa['sexo'] . $bpa['ibge'] . str_pad($bpa['co_cid'], 4, " ", STR_PAD_RIGHT) . date('Y') - date('Y', strtotime($bpa['data_nascimento'])) . str_pad($bpa['quantidade'], 6, "0", STR_PAD_LEFT) . '01' . '             ' . 'EXT';
当我执行var_dump$bpac时,返回值是3.1231213202006E+7200000501 EXT,而不是031231213202006123456202005190001012345612323489167200000501 EXT

我试着用strval,但没用


有什么想法吗?

给减法加上括号

. date('Y') - date('Y', strtotime($bpa['data_nascimento'])) .
像这样

. (date('Y') - date('Y', strtotime($bpa['data_nascimento']))) .
否则,两个字符串都将被转换为整数,因为浮点数太长。

我不确定,但我看到了。str_pad$bpa['co_cid',4,,str_pad_RIGHT。date'Y'-date'Y',strotime$bpa['data_nascimento']-php格式。和-具有相同的优先级,所以如果您想从当前年份减去$bpa['data_nascimento']的年份,您应该使用括号