PHP计数会话变量以FAVORITE-LISTING-开头 -

时间:2014-10-30 23:39:59

标签: php session-variables

使用PHP我想要计算以特定字符串开头的会话变量$ _SESSION键。

例如:

FAVORITE-LISTING-04
FAVORITE-LISTING-24
FAVORITE-LISTING-58

使用上述键,计入"最喜欢的列表 - "将返回:3

干杯

3 个答案:

答案 0 :(得分:1)

您可以使用PHP支持的变量变量来实现此功能。但我建议改为使用双数组:

$_SESSION['FAVORITE-LISTING']['4'] = 'something';
$_SESSION['FAVORITE-LISTING']['24'] = 'something';
$_SESSION['FAVORITE-LISTING']['58'] = 'something';
count($_SESSION['FAVORITE-LISTING']);

通过这种方式,您可以更轻松地检索数据并保持井井有条。

答案 1 :(得分:1)

由于$_SESSION是一个数组,只需循环遍历它并查看键。任何时候一个键都以你的字符串开头,你只需要再添加一个。由于您要查找字符串的开头,因此您希望strpos()等于0,因此您需要使用===而不是==

$find = 'FAVORITE-LISTING-';
$count = 0;
foreach($_SESSION as $key => $value) {
    if(strpos($key, $find) === 0) {
        $count++;
    }
}

答案 2 :(得分:1)

这应该适合你:

<?php

    session_start();
    $_SESSION['FAVORITE-LISTING-04'] = "foo";
    $_SESSION['FAVORITE-LISTING-24'] = "foo";
    $_SESSION['FAVORITE-LISTING-58'] = "foo";

    $count = substr_count(implode(array_keys($_SESSION)), "FAVORITE-LISTING-");
    echo $count;

?>

输出:

3