PHP-通过分解字符串创建数组
我需要从表单中处理一些输入。表单输入的数量取决于应用程序中语言的数量。例如,假设我支持英语和法语:PHP-通过分解字符串创建数组,php,Php,我需要从表单中处理一些输入。表单输入的数量取决于应用程序中语言的数量。例如,假设我支持英语和法语: $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' ); …
$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个数组,但我想首先检查是否有一种“正确”的方法可以对已经存在的函数执行此操作,类似于这样的操作。是否需要对您执行此操作
$results = array();
foreach($input as $key=>$val)
{
$exploded = explode('_', $key);
$results[$exploded[1]][$exploded[0]] = $val;
}