可能重复:
从字符串中检索数字字符
我有一个像这样的字符串-
[ [ -2, 1/2 ], // 1/2 represents one half
我想检索数字字符,并将它们放入一个数组中,该数组最终看起来像这样:
array(
[0] => -2,
[1] => 1/2
)
做这件事最好的方法是什么?
一个更全面的例子-
[ [ -2, 1/2, 4, 8 ],
[ 5, 1/2, 1, -4/3 ],
[ -2, 7/2, 4, 4 ],
[ -2, 1/2, -3, 2 ] ]
我正在逐行地研究这个矩阵,我想把每一行的数字提取到一个数组中。
这个问题与我之前问的一个问题非常相似——从字符串中检索数字字符
不同之处在于数字中没有小数点。相反,非整数表示为分数。
尝试处理preg语法。你的preg表达很简单:/(-?'d+(?:'/'d+)?)/
。
preg_match_all( '/(-?'d+(?:'/'d+)?)/', $string, $matches);
// given :
$str = '[ [ -2, 1/2, 4, 8 ],
[ 5, 1/2, 1, -4/3 ],
[ -2, 7/2, 4, 4 ],
[ -2, 1/2, -3, 2 ] ]';
// outut :
$matches = array (
0 =>
array (
0 => '-2',
1 => '1/2',
2 => '4',
3 => '8',
4 => '5',
5 => '1/2',
6 => '1',
7 => '-4/3',
8 => '-2',
9 => '7/2',
10 => '4',
11 => '4',
12 => '-2',
13 => '1/2',
14 => '-3',
15 => '2',
),
1 =>
array (
0 => '-2',
1 => '1/2',
2 => '4',
3 => '8',
4 => '5',
5 => '1/2',
6 => '1',
7 => '-4/3',
8 => '-2',
9 => '7/2',
10 => '4',
11 => '4',
12 => '-2',
13 => '1/2',
14 => '-3',
15 => '2',
),
);