拆分每个数组值,然后在PHP中转换为json

时间:2015-02-19 13:05:48

标签: php arrays json

我有这样的数组值:

   Array ( [cont_no] => Array ( [0] => 43-15 [1] => 44-18 )

现在我需要拆分每个数组值,43-15应该使用“ - ”这个键拆分,然后转换为JSON类型:

{"employees":[
    {"cont_no":"43", "repo_id":"15"}, 
    {"cont_no":"44", "repo_id":"18"}, 
]}

4 个答案:

答案 0 :(得分:1)

我认为这会起作用

$jsonme =["employees"=>[]];
foreach( $ar as $a){
    $vals = explode("-", $a[0]);
    $jsonme["employees"]=[
         "yourkey1" => $vals[0],
        "yourkey2" => $vals[1]
];
$json = json_encode($jsonme);

将您的密钥替换为您希望它嵌套在json中的密钥。 (另外,没有测试过,但我认为它是正确的)

答案 1 :(得分:0)

试试这个:

json_encode($array[0]);

答案 2 :(得分:0)

<?php
$src = [ 'cont_no' => [
    '43-15', '44-18'
]];

$target = array_map(
    function($e) {
        return array_combine(
            ['cont_no', 'repo_id'],
            explode('-', $e)
        );
    },
    $src['cont_no']
);


echo json_encode($target);

打印

[{"cont_no":"43","repo_id":"15"},{"cont_no":"44","repo_id":"18"}]

另见:

答案 3 :(得分:0)

使用此代码

 $arr = array (cont_no => array ( 0 => '43-15', 1 => '44-18' ));

$finalArr['employees'] = array();

foreach($arr['cont_no'] as $val)
{
    $out = explode('-',$val);
    $finalArr['employees'][]['cont_no'] = $out['0'];
    $finalArr['employees'][]['repo_id'] = $out['1'];
}
echo json_encode($finalArr);