【发布时间】:2012-10-29 21:13:49
【问题描述】:
我有一个问题需要解决。
我有一个关联数组,例如:
private $formData = [
"lastPrintedNumber" => 0,
];
我从带有函数的文本文件中获取这些数据...:
$line = fgets( $formDataFile );
$explodedLine = explode( ' ', $linea );
$this->formData[ 'lastPrintedNumber' ] = (int) $explodedLine[2];
它将正确的类型 int 分配给 $formData[ lastPrintdNumber ]。
但我不想对分配进行硬编码,而是想做一个foreach,在数组中寻找正确的数据。
例子:
$line = fgets( $formDataFile ) ) != false ) {
$explodedLine = explode( ' ', $linea );
foreach( $this->formDatos as $key => $value ) {
if( $explodedLine[0] == $key ) {
$this->formData[ $key ] = $value;
}
}
问题在于它将值分配为string,在某些情况下我需要int 进行数学运算。
所以我需要一种方法来稳定formData[ 'lastPrintedNumber' ] 的数据类型始终为int。
非常感谢。
【问题讨论】:
-
PHP 将根据需要在 string/int 之间自动转换。
$x = 7 * '3'仍然是21,即使它是 int * 字符串。