在插入前替换数组集php中的键

在插入前替换数组集php中的键,php,Php,我正在尝试替换相当大的数组的键,以便只从中获取特定的数据。我的客户端以特定格式将一组数据粘贴到文本中,然后将其加载到表中的一系列列中,如下所示: textarea数据如下所示: rp1=1, rp2=3, rp4=5 etc etc 如果我在帖子上进行var转储,我会得到以下结果: array(33) { [0]=> string(2) " 8" [1]=> string(5) "RP2=7" [2]=> string(5) "RP3=9" [3]=> string(6

我正在尝试替换相当大的数组的键,以便只从中获取特定的数据。我的客户端以特定格式将一组数据粘贴到文本中,然后将其加载到表中的一系列列中,如下所示:

textarea数据如下所示:

rp1=1, rp2=3, rp4=5 etc etc
如果我在帖子上进行var转储,我会得到以下结果:

array(33) { [0]=> string(2) " 8" [1]=> string(5) "RP2=7" [2]=> string(5) "RP3=9" [3]=> string(6)...
我想做的是,给我一个键的数字,例如,如果你看我做的var_dump,我用一个字符串替换第一个键,所以我在数组序列中只得到
8
。我想知道一种攻击所有字符串的方法,因为有些字符串包含4个字符和5个字符。就像
rp1=1和rp10=2一样

我将数据从textarea获取到数组的方法是:

$stenData = explode(', ',  $_POST['stenData']);

使用
array\u map()
有很多方法,但是如果您有
var=num
语法,则将其解析为查询字符串,而不是构造正则表达式:

$result = array_map(function($v) { parse_str($v, $r); return current($r); }, $stenData);
或者,要从发布的字符串执行此操作,只需将
替换为
&
,将其转换为要解析的查询字符串:

parse_str(str_replace(', ', '&', $_POST['stenData']), $result);
其中,
$result
产生如下结果:

Array
(
    [rp1] => 1
    [rp2] => 3
    [rp4] => 5
    [TS1] => 7
    [FE1] => 7
)
因为评论中有各种各样的正则表达式:

preg_match_all('/[^=]=(\d+)/', $_POST['stenData'], $matches);
print_r($matches[1]);

显示预期结果的外观,以便在插入之前清除内容?我记得Q关于用相同的东西清理数据库中的数据
RP[0-9]+=
。你也可以在这里使用preg_replace。@RomanPerekhrest最终结果应该是:
array(33){[0]=>string(2)“8”[1]=>string(5)“3”[2]=>string(5)“4”[3]=>string(6).
类似于
$stenData=array_映射('trim',explode(',',','preg_replace('RP[0-9]+=)、'stenData']),'
@JustOnUnderMillions是的,我这么做了,这似乎是一个更好的方法,因为数据库中不应该有这样的数据