我正在使用mysql group_concat函数,我遇到了一些问题。我刚才注意到数组值确实不是值,而是我的结果的一部分,这是不正确的。我需要将字符串作为值,以便我可以引用它。
以下是我所拥有的SQL部分:
GROUP_CONCAT(t3.location,t2.content SEPARATOR',')
这会产生:
Array
(
[0] => name my value
[1] => name my value
[2] => dept my value
.......
正如您所看到的,“名称”以及“部门”都是“我的价值”的值。我想要的是:
Array
(
[name] => [0] my value
[name] => [1] my value
[dept] => [0] my value
.......
答案 0 :(得分:0)
这是有效的,假设它是空格的第一部分,用于将所需的数组键与值的其余部分分开。
$sample = array( 'name my value', 'name my value', 'dept my value' );
$result = array();
foreach ( $sample as $item )
{
if ( preg_match( "/(\S+)\s+(.*)/", $item, $matches ) )
{
$result[$matches[1]][] = $matches[2];
}
}