Php 如何插入值来代替%定位字符串?
您好,我正在尝试将变量值插入字符串而不是符号%Php 如何插入值来代替%定位字符串?,php,Php,您好,我正在尝试将变量值插入字符串而不是符号% <? function SpacerBlocks($number_space, $parent, $children, $array, $inside, $position_start = 0) { $result = ''; $items = $result; for ($position_start; $position_start < count($array); $pos
<?
function SpacerBlocks($number_space, $parent, $children, $array, $inside, $position_start = 0) {
$result = '';
$items = $result;
for ($position_start; $position_start < count($array); $position_start++) {
$items.='<'.$children.'>' .
printf($inside, $array[$position_start]['CNT'],
$array[$position_start]['NAME']) . '</'.$children.'>';
if ($position_start%$number_space == 0) {
$result.='<'.$parent.'>'.$items.'</'.$parent.'>';
}
}
return $result;
}
?>
输出为:
<a href=""><span>/span>/a><ul class="list"><li>26</li></ul> </span></a>
你试过了吗
str_replace('%',$replaceForThis,$input);
您的
%
不正确。它需要是一个适当的格式说明符,例如
printf('Hello %s PHP', 'from')
^--string format
将从PHP向您提供问候
您的printf字符串应该是:
SpacerBlocks(....., '<a href=""><span>%s</span>%s</a>');
^^ ^^---note the S's
间隔块(…..,'');
^^^^---注意S的
还要注意,
printf()
会立即输出。您可能需要使用sprintf()
,它返回格式化的字符串,而不是输出它。“无法正常工作”Becaaause。。。?你有错误吗?输出不是你想要的?输出是:谢谢!你告诉我我需要做什么!:)
printf('Hello %s PHP', 'from')
^--string format
SpacerBlocks(....., '<a href=""><span>%s</span>%s</a>');
^^ ^^---note the S's