- rtrim: documentation ( source)
- explode: documentation ( source)
- json_encode: documentation ( source)
<?php
$str = 'ID=62981155;IT=OV80419674-62981155_1_3;OD=15.4;|ID=62981157;IT=OV80419674-62981157_1_3;OD=3.1;|ID=62981159;IT=OV80419674-62981159_1_3;OD=8.13;|';
$result = [];
foreach (explode('|', rtrim($str, '|')) as $i => $set) {
foreach (explode(';', rtrim($set, ';')) as $pair) {
[$k, $result[$i][$k]] = explode('=', $pair);
}
}
echo json_encode($result, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);