2016-12-15 55 views
0

如何合并(implode)第二行中的字段(mark_internal)的值与第一行中的字段(mark_internal)的值?合并(implode)第二行中的字段的值与第一行中的相同字段的值在php中?

print_r($marks); 

输出:

Array ( 
[0] => Array ( 
    [id] => 10 
    [year] => 2016-2017 
    [mark_internal] => 2005SD00000001:10,3,1,1,2|2005SD00000002:6.8,2.4,1,1,1) 

[1] => Array ( 
    [id] => 11 
    [year] => 2016-2017 
    [mark_internal] => 2000SD00000001:9,2,1,1,1|2000SD00000002:7.8,2,1,1,2) 

期望的输出:

stdClass Object ( 
[id] => 10 
[year] => 2016-2017 
[mark_internal] =>2005SD00000001:10,3,1,1,2|2005SD00000002:6.8,2.4,1,1,1| 
        2000SD00000001:9,2,1,1,1|2000SD00000002:7.8,2,1,1,2) 
+0

没有内置的方式来做到这一点。您需要手动循环使用这些值。 –

回答

1

使用的foreach实现这一

<?php 
$a = array(
0 => array(
    'id' => 10, 
    'year' => '2016-2017', 
    'mark_internal' => '2005SD00000001:10,3,1,1,2|2005SD00000002:6.8,2.4,1,1,1'), 

1 => array(
    'id' => 11, 
    'year' => '2016-2017', 
    'mark_internal' => '2000SD00000001:9,2,1,1,1|2000SD00000002:7.8,2,1,1,2') 
); 

$s = ''; 
foreach($a as $key => $data) 
{ 

    $s .= $data['mark_internal']."|"; 
} 
echo $s; 
?> 

OUTPUT: 2005SD00000001:10,3,1,1,2 | 2005SD00000002:6.8,2.4,1,1,1 | 2000SD00000001:9,2,1,1,1 | 2000SD00000002:7.8,2,1 ,1,2 |

PHPfiddle

+0

它正在工作..! – Dayz

相关问题