我从Flex发送数组到我的PHP脚本。 要拆分的字符串就像[F1,3,true] [Urg,4,false] 我想使用这些信息将记录更新到mySql数据库中。将字符串拆分为数组和模式
例如[F1,3,true]是类似这样的记录[Name,Id,Visible]。
但我没有如何拆分使用信息。
感谢您的帮助
我从Flex发送数组到我的PHP脚本。 要拆分的字符串就像[F1,3,true] [Urg,4,false] 我想使用这些信息将记录更新到mySql数据库中。将字符串拆分为数组和模式
例如[F1,3,true]是类似这样的记录[Name,Id,Visible]。
但我没有如何拆分使用信息。
感谢您的帮助
如果你真的坚持这种格式,你可以尝试的preg_match。
$string = '[F1, 3, true][Urg, 4, false][asd, 1337, TrUe]';
preg_match_all('/\[(\w+),\s*?(\d+),\s*?(true|false)\]/i', $string, $matches, PREG_SET_ORDER);
用这个,你将得到一个二维数组,数组中的每个元素都是一个数组。每个数组中的第一个元素是匹配数据行,以下元素是解析的数据。 这些元素可以用任意数量的空白字符分隔,布尔值的大小并不重要。
可以删除括号:
$txt = substr($txt, 1, -1);
而且爆炸:
$array = explode(',', $txt)
我希望没有逗号,括号中的数据字符串 - 这可能使这不可能的!但是,假设有没有那些:
preg_match_all('/\[([^\]]*)\]/', $text, $matches);
return array_map(function($match) {
return array_map('trim', explode(',', $match));
}, $matches[1]);
(一个使用了闭,这是只有在PHP 5.3及更高版本支持;如果你是一个老版本,你可以很容易地将其更改为一个foreach循环。 )
为什么不发送json数据或其他一些可串行化的数据格式? – tigrang