PHP相当于C#字符串格式

时间:2011-08-22 00:21:30

标签: c# php

我正在尝试复制我的C#字符串格式,我可以这样做:

Console.Writeline("My name is [0].  I have been a [1] for [2] days.", "bob", "member", "12")

我希望能够在PHP中执行此操作,但据我所知,唯一与此类似的函数是sprintf()。是否有与上述功能相同的功能

echo function("My name is [0].  I have been a [1] for [2] days.", "bob", "member", "12")

2 个答案:

答案 0 :(得分:5)

您可以编写自己的功能,例如

<?php
function Format($format /*, ... */) {
    $args = func_get_args();
    return preg_replace_callback('/\[(\\d)\]/',
        function($m) use($args) {
            // might want to add more error handling here...
            return $args[$m[1]+1];
        },
        $format
    );
}

$x = 'a';
$y = 'b';
echo Format('1=[1], 0=[0]', $x, $y);

答案 1 :(得分:1)

您可以在字符串中内联变量:

$frob = "John";
$foo = "Hello $frob!";