所以我返回JSON数据,现在我需要从提供的图像中解析数据,以便将其发布到数据库中。
我需要解析它,以便每个字母数字组合(A1,A2,A3等)都可以位于单独的列行中...
public function generateSeats(SeatMap $seatMap)
{
$layout = $seatMap->getSeatLayout();
$layoutArray = json_decode($layout, true);
foreach($layoutArray as $result)
{
dump($result);die;
}
}
我不知道如何分别选择每个字母数字组合。
答案 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 如果您使用简单的正则表达式,而只是考虑匹配的组,那么您就不必再验证席位了。
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))