将数组键值对与seperator关联


associate array key value pair with seperator

$user  = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($user);

我得到的结果是:

Array
(
    [0] => Array
        (
            [ID] => US101
            [FirstName] => Ramesh
            [MobileNo] => 3125627127
            [City] => Bombay
        )
    [1] => Array
        (
            [ID] => US102
            [FirstName] => Ravindar
            [MobileNo] => 45624152627
            [City] => Culcatta
        )
)

我需要的输出是:

Array
(
    [US101] => US101 | Ramesh | 3125627127 | Bombay
    [US102] => US102 | Ravindar | 45624152627 | Culcatta
)

试试这个:

$formatted = [];
foreach($user as $v)
{
  $formatted[$v['ID']] = implode(' | ', $v);
}
print_r($formatted);
$userModified = array_map(function($item) {
    return [
        $item['id'] => implode($item, '|')
    ];
}, $user);

您应该像下面的一样使用CONCAT_WS

select CONCAT_WS('|',ID,FirstName,MobileNo,City) from table_name;

则输出将是concat列值