我需要有关PHP explode()
功能的所有观众。
$line = 'dd=541;nn=874;cc=21;mm=95;tt=41';
$lineexp = explode(';', $line);
print_r($lineexp);
这将产生以下输出:
[
0 => 'dd=541',
1 => 'nn=874',
2 => 'cc=21',
3 => 'mm=95',
4 => 'tt=41'
]
如何才能将数组的值改为数组呢?
期望的输出:
[
0 => 541,
1 => 874,
2 => 21,
3 => 95,
4 => 41
]
答案 0 :(得分:3)
只需一个选项即可。在substr
字符之后迭代数组和=
:
$line = 'dd=541;nn=874;cc=21;mm=95;tt=41';
$lineexp = explode(';', $line);
$lineexp = array_map(function($item){
return substr($item, strpos($item, '=')+1);
}, $lineexp);
答案 1 :(得分:1)
<?php
$line= "dd=541;nn=874;cc=21;mm=95;tt=41";
$lineexp = explode(';', $line);
$farray=array();
foreach ($lineexp as $n){
$nv = explode("=",$n)[1];
array_push($farray,$nv);
}
var_dump($farray);
?>
我认为有些事情是这样的
http://sandbox.onlinephpfunctions.com/code/07a886132e8d0ae1c61f47997faa72d0cc33fd8f
答案 2 :(得分:1)
您可以使用array_map并使用=
作为分隔符使用explode并返回包含该数字的第二部分[1]
:
$line= "dd=541;nn=874;cc=21;mm=95;tt=41";
$lineexp = array_map("expl", explode(';', $line));
function expl($value) {
return explode('=', $value)[1];
};
或者使用内联匿名函数:
$lineexp = array_map(function ($a) {
return explode('=', $a)[1];
}, explode(';', $line));
var_dump($lineexp);
那会给你:
array(5) {
[0]=>
string(3) "541"
[1]=>
string(3) "874"
[2]=>
string(2) "21"
[3]=>
string(2) "95"
[4]=>
string(2) "41"
}