我正在尝试将数字输入流转换为整数数组。 代码应该是自说明的。
$handle = fopen("php://stdin","r");
print("Enter space separated numbers to be made to an array\n");
$numStream = fgets($handle);
print("Creating array from : {$numStream}\n");
//Using explode to create arrays
//now we have an array of Strings
$numArray = explode(" ", $numStream);
var_dump($numArray);
print(getType($numArray[0]));
print("\n");
array_walk($numArray, 'intval');
print(getType($numArray[1]));
print("\n");
var_dump($numArray);
print_r($numArray);
我正在尝试转换字符串数组,
array_walk($numArray, 'intval')
最后两个打印块在转换前后打印出数组元素的类型。输出结果在两种情况下都是字符串。string
string
我想知道这里到底发生了什么?可能是...
- 转换错误了
- 类型检查的方式不对
或者可能两者都有问题。
同时提供完整的输入和输出:
$ php arrays/arrayStringToInteger.php
Enter space separated numbers to be made to an array
1 1
Creating array from : 1 1
Array
(
[0] => 1
[1] => 1
)
string
string
/home/ubuntu/workspace/basics/arrays/arrayStringToInteger.php:22:
array(2) {
[0] =>
string(1) "1"
[1] =>
string(2) "1
"
}
Array
(
[0] => 1
[1] => 1
)
echo "<pre/>";print_r($numArray);
的输出吗?请给我们看看。 - Alive to die - Anant