全部, 我已经基于id创建了一大堆会话变量。例如,我可以使用以下变量:
$_SESSION['test_variable_1'];
$_SESSION['test_variable_2'];
$_SESSION['test_variable_3'];
我想用PHP阅读所有这些内容,并且基本上在变量的末尾返回id的JSON数组。所以我想在这个例子中返回1,2和3。我要查看的会话变量将始终以test_variable_开头,后跟我想要获取的ID。这样做的最佳方式是什么?
谢谢!
答案 0 :(得分:1)
这样的东西?
$ids = array();
foreach($_SESSION as $var => $value) {
if (strpos($var, 'test_variable_') === 0) {
$ids[] = str_replace('test_variable_', '', $var);
}
}
答案 1 :(得分:1)
虽然更好的想法是在会话超全局中创建子数组,以便您可以使用$_SESSION['test_variable'][1]
之类的东西,但您可以使用类似preg_grep的内容来扫描这些键:
$keys = array_keys($_SESSION);
$matches = preg_grep('/^test_variable_\d+$/', $keys);
foreach($matches as $key) {
$digit = substr($key, 13); // extract the digit.
echo $_SESSION[$key];
}