[英]PHP array_filter() not working
这里的目标是从日志文件中获取文本,纯文本由返回分隔,每行由不同数量的空格分隔。
将其转换为多维是很容易的,要消除空白就不容易。 我想有很多方法可以解决这个问题,但这不是array_filter()的原因之一吗?
$alarms = array(
"1530 1545 Place_4 Fault_1",
"1617 1622 Place_1 Fault_2",
"1634 1640 Place_2 Fault_1"
);
foreach ($alarms as $data) {
$subArr = explode(" ", $data);
array_filter($subArr);
print_r($subArr);
echo "<br /><br />";
}
输出:
Array ( [0] => 1530 [1] => [2] => [3] => [4] => [5] => 1545 [6] => [7] => [8] => [9] => [10] => Place_4 [11] => [12] => [13] => [14] => [15] => Fault_1 )
Array ( [0] => 1617 [1] => [2] => [3] => [4] => [5] => 1622 [6] => [7] => [8] => [9] => [10] => Place_1 [11] => [12] => [13] => [14] => [15] => Fault_2 )
Array ( [0] => 1634 [1] => [2] => [3] => [4] => [5] => 1640 [6] => [7] => [8] => [9] => [10] => Place_2 [11] => [12] => [13] => [14] => [15] => Fault_1 )
希望它是:
数组([0] => 1530 [1] => 1545 [2] => Place_4 [3] => Fault_1)
数组([0] => 1617 [1] => 1622 [2] => Place_1 [3] => Fault_2)
数组([0] => 1634 [1] => 1640 [2] => Place_2 [3] => Fault_1)
不知道怎么了...
干杯。
与其尝试explode(" ",$something)
,不如尝试:
$parts = preg_split("/ +/",$something);
这将拆分为可变数量的空格。
更新的代码
$alarms = array( "1530 1545 Place_4 Fault_1", "1617 1622 Place_1 Fault_2", "1634 1640 Place_2 Fault_1" ); foreach ($alarms as $data) { $subArr = explode(" ", $data); $subArr = array_filter($subArr); print_r($subArr); echo "<br /><br />"; }
$array = array(
0 => '0130085779',
1 => '0130085779',
2 => '0130181129',
3 => '0130181296',
4 => '0130181448',
5 => '0130214980'
);
$array = array_filter($array);
我使用此功能,但是不起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.