0

我试图了解 sscanf() 函数在 PHP 中的工作原理

在下面的两个代码片段中,我没有得到任何格式化的输出。我对 sscanf() 函数做错了什么?

谢谢

片段#1

<?php
$input = '1235551234';
sscanf($input, "%3s%3s$4s", $a, $b, $c);
echo '(' . $a . ') ' . $b . '-' . $c;
?>

返回: () -

斯米皮特#2

<?php
$input = 1235551234;
sscanf($input, "%3s%3s$4s", $a, $b, $c);
echo '(' . $a . ') ' . $b . '-' . $c;
?>

返回: () -

4

2 回答 2

2
sscanf($input, "%3s%3s$4s", $a, $b, $c);
                      ^---- typo? should be %?

有了它$,它可能正在寻找文字字符序列$, 4s这在您的号码中不存在。

于 2013-01-21T17:47:36.983 回答
0

请试试这个。你的格式有误。

    $input = '1235551234';
    sscanf($input, "%3s%3s%4s", $a, $b, $c); // good
 // sscanf($input, "%3s%3s$4s", $a, $b, $c); // bad

    echo '(' . $a . ') ' . $b . '-' . $c;
于 2013-01-21T17:51:00.030 回答