将变量拆分为其他变量

时间:2016-01-01 17:54:29

标签: php arrays variables

你好,互联网上的人!我需要一些帮助 :) 我有一个php rcon脚本,这个脚本将rcon的结果保存到名为results的变量中,这是一个例子。

  

results =显示lluiscab的2个跟踪目标: - rcon:4(rcon) - 测试:5555(测试)

我想将rcon之类的变量设置为4并测试为5555。 我使用爆炸和其他认为我在网上找到的,但我不能使它工作。有人知道怎么做吗?

编辑:这个变量发生了变化,所以,有时我可以拥有rcon,测试和硬币,有时候只有rcon

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式。

preg_match('/rcon:\s*(\d+).*test:\s*(\d+)/', $line, $match);
$rcon = $match[1];
$test = $match[2];

\d+匹配一系列数字,并在其周围放置()使其成为捕获组。 $match包含与正则表达式匹配的输入行部分,$match[N]包含第N个捕获组。

如果您需要捕获看似word: number的任何内容,可以使用preg_match_all和关联数组。

preg_match_all('/(\w+):\s*(\d+)/', $line, $matches, PREG_SET_ORDER);
$results = array();
foreach ($matches as $match) {
    $results[$match[1]] = intval($match[2]);
}

对于示例输入,这将创建

$results = array(
    'rcon' => 4,
    'test' => 5555
);

DEMO