我正在尝试使用递归函数将数组解析为逻辑结构,到目前为止,只有近距离遇到。
这是我收到的:
[
"1921",
"AND",
"(",
"1923",
"OR",
"(",
"1925",
"AND",
"1924",
")",
")"
]
这就是我必须获得的:
{
terms: ["1921", {
terms: ["1923", {
terms: ["1925", "1924"],
operator: "AND"
}],
operator: "OR"
}],
operator: "AND"
}
任何帮助表示赞赏!
答案 0 :(得分:6)
我将它作为状态机来处理它,它存储当前索引并逐项递归地迭代数组。
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Test extends CI_Controller
{
public function check()
{
$data = array("data" => "true", "m" => "message");
Header('Content-Type: application/json');
echo json_encode($data);
}
}
?>
你会得到你所需要的。
将此重写为递归函数需要使用全局变量,但原理类似。