Symfony-将JSON解析到数据库

时间:2018-10-17 13:35:35

标签: json api parsing

所以我返回JSON数据,现在我需要从提供的图像中解析数据,以便将其发布到数据库中。

enter image description here

我需要解析它,以便每个字母数字组合(A1,A2,A3等)都可以位于单独的列行中...

 public function generateSeats(SeatMap $seatMap)
{
    $layout = $seatMap->getSeatLayout();

    $layoutArray = json_decode($layout, true);

    foreach($layoutArray as $result)
    {
        dump($result);die;
        }

}

我不知道如何分别选择每个字母数字组合。

2 个答案:

答案 0 :(得分:2)

没有那么复杂。

您只需要执行两个步骤:

$result = 'A1A2A3_A4A5A6';

1)删除下划线符号_

$result = str_replace('_', '', $result);
// Now $result is string 'A1A2A3A4A5A6'

2)将整个字符串分成两个字符长:

$result = str_split($result, 2);
// Now $result is array('A1', 'A2', 'A3', 'A4', 'A5', 'A6')

答案 1 :(得分:0)

Sergej的回答肯定可以解决问题,并且很有用。我也投票赞成。但是,它仍然无法处理以下内容:

  • 无效的座位号模式LetterNumber。例如:1A
  • 无效的座位顺序。例如:1AA1A2A3A4A5A6AZ

如果您使用简单的正则表达式,而只是考虑匹配的组,那么您就不必再验证席位了。

preg_match_all ('/[A-Za-z][0-9]/', '1AA1A2A3A4A5A6AZ', $matches);
print_r($matches); 
// output: Array([0]=>Array([0]=>A1[1]=>A2[2]=>A3[3]=> A4[4]=>A5[5]=>A6))