php函数中动态整数值的串联
我正在尝试打印动态值,并使用我将使用的foreach。这是我正在尝试的代码。 这是我必须对其进行集成并使其动态化的原始代码,以便循环运行4次。我必须将print_static_1_容器更改为print_static_$I_容器php函数中动态整数值的串联,php,for-loop,Php,For Loop,我正在尝试打印动态值,并使用我将使用的foreach。这是我正在尝试的代码。 这是我必须对其进行集成并使其动态化的原始代码,以便循环运行4次。我必须将print_static_1_容器更改为print_static_$I_容器 <?php if(!function_exists('print_static_1_container')) { function print_static_1_container() { 这是我正在尝试的代码: <?php
<?php
if(!function_exists('print_static_1_container')) {
function print_static_1_container() {
这是我正在尝试的代码:
<?php
for($i=1;$i<=4;$i++) {
$function = create_function('$i', 'echo "print_static_{$i}_container";');
function $function() {
global $SITE; ?>
<!-- Static 1 Container -->
<!-- ********************************************* START ************************************************* -->
<div class="static-<?php echo $i; ?>-home">
<div class="row">
<div class="gal-head home-section-head">
<?php
if(isset($SITE['theme_options']->static_$i_html_content) && !empty($SITE['theme_options']->static_$i_html_content))
echo $SITE['theme_options']->static_$i_html_content;
?>
</div>
</div>
</div>
<?php
}
}
?>
我得到的错误是
意外的“.”行内函数打印\u静态\u“$i”。\u容器
应该是:
$function_name = "print_static_$i_container";
if(!function_exists($function_name)) {
$function_name = function() {
// do stuff
};
您可以这样调用此函数:$function\u name
只能在双引号内使用变量。PHP完全按照字符串的显示解释所有单引号字符串,也就是说,存储在变量中的值不会在字符串中被替换。举例说明,这可能是您想要的。用于创建动态函数
for($i=1;$i<=4;$i++) {
$function = create_function('$i', 'echo "Calling function with argument {$i} \n";');
// Lets Call last created function
$function($i);
}
替代解决方案PHP5.3.x
我数了一下,有4个右大括号不见了。@ADASein:右大括号太完美了。它正在工作并显示内容,而无需自动化。就是我写的,代码块4次。我只是在这里简略地写了代码。我想指出的是,你必须正确地发布代码,这样人们才能帮助你。@ADASein:编辑了这个问题。更不用说,你也必须注意右大括号。我得到以下错误:语法错误,意外的“$function\u container”T\u变量,应为标识符T_字符串或在>函数$function_容器中这是在函数$function$I语法错误、意外的“$function”T_变量、应为标识符T_字符串中得到的错误。此外,请检查编辑的问题以进一步参考代码。@NikhileshVaishy在本例中使用我的替代部分。并将函数调用到循环中。
for($i=1;$i<=4;$i++) {
$functionName = "print_static_{$i}_container";
$$functionName = function($args) { ?>
<!-- Static 1 Container -->
<!-- ********************************************* START ************************************************* -->
<div class="static-<?php echo $args; ?>-home">
<div class="row">
<div class="gal-head home-section-head">
<?php
if(isset($SITE['theme_options']->static_$args_html_content) && !empty($SITE['theme_options']->static_$i_html_content))
echo $SITE['theme_options']->static_$args_html_content;
?>
</div>
</div>
</div>
<?php };
$print_static_$i_container($i);
}
$print_static_3_container(3); // Output: Calling 3
$print_static_2_container(2); // Output: Calling 2