2016-12-15 48 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

相關問題