Я хочу вернуть функцию PHP token_get_all() как JSON.PHP json_encode token_get_all
Я также хочу, чтобы token_get_all передал токен через функцию token_name(), чтобы получить его имя.
Я пробовал различные методы, но ни один из них не дает результатов, которые мне нужны.
Я хочу использовать эту информацию в JavaScript, я хочу, например, позвонить tokens.tokenName.
Я думаю, что мне нужно что-то вроде следующего примера:
{
"tokenName":"T_COMMENT","tokenValue":"# some comment","tokenLine":"1"
"tokenName":"T_VARIABLE","tokenValue":"$some_variable","tokenLine":"2"
}
Я пытался поставить функцию token_get_all() непосредственно через функцию json_encode(), а также играть с различными массивами и результаты не то, что я хотел.
Это последнее воплощение кода:
if (isset($_POST['code']) || (isset($_GET['code']))) {
if (isset($_POST['code'])) {
$code = $_POST['code'];
} elseif (isset($_GET['code'])) {
$code = $_GET['code'];
}
$tokens = array();
$tokenName = array();
$tokenValue = array();
$tokenLine = array();
foreach(token_get_all($code) as $c) {
if(is_array($c)) {
array_push($tokenName, token_name($c[0])); // token name
array_push($tokenValue, $c[1]); // token value
array_push($tokenLine, $c[2]); // token line number
} else {
array_push($tokenValue, $c); // single token, no value or line number
}
}
// put our token into the tokens array
array_push($tokens, $tokenName);
array_push($tokens, $tokenValue);
array_push($tokens, $tokenLine);
// return our tokens array JSON encoded
echo(json_encode($tokens));
}
Спасибо,
Райан
спасибо, что кажется отлично работает. :) – ethicalhack3r