存储过程到数组

时间:2013-06-03 09:14:27

标签: php arrays string stored-procedures preg-split

我无法将存储过程设置为数组。

给定的SP:

call my_store ( 'Test', '1', '2' )

现在我想要一个存储过程的变量,如:

[0] = 'Test'
[1] = '1'
[2] = '2'

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

您对此问题的描述非常钝,可能会产生误导,但如果理解正确,您只是尝试从字符串中检索对存储过程的调用的参数。如果是这种情况,应该可以使用preg_match_all来实现这一点,例如;

$pattern = "/('([^']+)',?)/x";
$string = "call my_store ( 'Test', '1', '2' )";
if (preg_match_all($pattern, $string, $matches) > 0) {
    print_r($matches);
}

返回的内容如下:

Array
(
    [0] => Array
        (
            [0] => 'Test',
            [1] => '1',
            [2] => '2'
        )

    [1] => Array
        (
            [0] => 'Test',
            [1] => '1',
            [2] => '2'
        )

    [2] => Array
        (
            [0] => Test
            [1] => 1
            [2] => 2
        )

)