如何遍历字符串并获得倒数第二个数字

时间:2020-06-16 18:12:58

标签: php string

我需要列表中倒数第二个,列表长度可以变化。我尝试使用explode(“,”,$ layouts);

$layouts= '1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0';


示例:我需要从这里的字符串中获取30。 请帮助

2 个答案:

答案 0 :(得分:2)

如果此列表的大小可以按照注释中的指示增加,则通常将其爆炸成数组,然后对大小进行计数,从总大小中减去2,然后将其用作索引以获取值:

//turn this to array 
$layouts = '1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0';
$layoutsArray = explode(",", $layouts);
$xtarget = count($layoutsArray) - 2;
$xvalue = "";
if($xtarget > -1){
   $xvalue = $layoutsArray[$xtarget];
}else {
   //it could be wrong
}

答案 1 :(得分:1)

您可以使用爆炸它,并从数组中获取倒数第二个值,请尝试以下代码

$layouts= '1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0';

$array = explode(',',$layouts);
if(count($array) > 2){
    $pair = array_slice($array, -2, 1, true);
    $key = key($pair);
    $value = current($pair);

    echo $value;    
}

输出

30