打印大多数子括号内的字符并打印括号计数

时间:2015-02-16 08:01:04

标签: php

我有一个字符串$string = "(a(b,c)((d,e))(f,g))";

我想打印大多数子括号内的字符并打印括号计数

输出

> Most child parenthesis: 3
> Value contains: d,e

1 个答案:

答案 0 :(得分:3)

这是我的快速实施:

$string = "(a(b,c)((d,e))(f,g))";

$count = 0;
$max_count = 0;

$final_string = '';
for ( $i=0; $i<strlen($string); $i++ )
{
    if ( $string[$i] == '(' )
    {
        $count++;
        if ( $count > $max_count )
        {
            $max_count = $count;
            $final_string = "";
        }
    }
    else if ( $string[$i] == ')' )
    {
        $count--;
    }
    else if ( $count == $max_count )
    {
        $final_string .= $string[$i];
    }

}

echo "Most child parenthesis: ", $max_count, "\nValue contains: ", $final_string;

您可以在行动here中看到它。