我需要从表单处理一些输入。表单中的输入数量取决于应用程序中的语言数量。例如,假设我支持英语和法语:
$input = array(
'name_1' => 'Some input in english',
'content_1' => 'Some long text in english',
'name_2' => 'Some input in french',
'content_2' => 'Some long text in french'
);
......其中'1'和'2'分别是英语和法语的ID。我想要做的是爆炸字符串:
foreach($input as $key=>$val)
{
$exploded = explode('_', $key);
$arr = $exploded[1];
$key = $exploded[2];
}
..然后将它们推送到单独的数组中。请记住,可能有2种语言,或10种语言,因此只需初始化2个数组并检查“1”或“2”,因为$ key将无效。
如何将每个值的值推送到数组中,以便最终得到一个看起来像这样的数组?
$results = array( '1' => array('name' => 'Some input in english', 'content' => 'Some long text in english'), '2' => array('name' => 'Some input in french', 'content' => 'Some long text in french');
提前致谢。我的一个想法是根据唯一键值的计数来初始化2个数组,但是想先检查是否有一种“正确”的方法来为已存在的函数做这样的事情。
答案 0 :(得分:3)
这样的事情对你有用吗?
$results = array();
foreach($input as $key=>$val)
{
$exploded = explode('_', $key);
$results[$exploded[1]][$exploded[0]] = $val;
}