如何使用PHP格式化字符串sscanf()

时间:2013-01-21 17:42:45

标签: php formatting

我试图了解sscanf()函数在PHP中是如何工作的

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

由于

Snipit#1

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

返回:() -

Smipit#2

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

返回:() -

2 个答案:

答案 0 :(得分:2)

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

使用$,它可能会查找您的号码中没有的文字字符$4s

答案 1 :(得分: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;