gpt4 book ai didi

php - Redeclare - 如果数组有多个值则重复函数

转载 作者:行者123 更新时间:2023-12-02 05:36:39 24 4
gpt4 key购买 nike

function test($str) {
$c = count($str);
if ($c>1) {
foreach ($str as $key => $value) $result .= test($value);
} else {
$result = "<li>$str</li>\n";
}
echo $result ? "<ol>$result</ol>" : null;
}

$str 的值可能是这样的;

$str1 = "apple";

或类似的东西;

$str2 = array("apple","orange","pear");

如果count($str)大于1,即$str是is_array,则重复$result。
但它并没有像我想要的那样工作..
我收到错误 “无法重新声明 test()(之前在...中声明”

理想的输出是 - $str1;

<ol>
<li>apple</li>
</ol>

理想的输出是 - $str2;

<ol>
<li>apple</li>
<li>orange</li>
<li>pear</li>
</ol>

最佳答案

function test($str) {

// Ensure, $str is a good argument of implode()
if ( ! is_array( $str )) {
$str = array( $str );
}

$result = '<li>' . implode( '</li><li>', $str ) . '</li>';

return '<ol>' . $result . '</ol>';

}

备注:您的方法可以返回:

<ol>
<li>1</li>
<li>
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
</ol>
</li>
<li>3</li>
</ol>

这真的是您想要实现的目标吗?它真的需要创建嵌套的 OL 结构吗?

关于php - Redeclare - 如果数组有多个值则重复函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11600651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com