gpt4 book ai didi

php - 无法在 Laravel 中调用自定义函数

转载 作者:行者123 更新时间:2023-12-04 16:53:25 27 4
gpt4 key购买 nike

我正在尝试根据字符串检索排列集。但是,我无法正确执行该功能。我不太擅长公共(public)静态或私有(private),或者我应该如何调用该函数。

<?php namespace Helpers;

class Helper {

public static function permute($str,$i,$n)
{
if ($i == $n)
return "$str\n";
else {
for ($j = $i; $j < $n; $j++) {
swap($str,$i,$j);
permute($str, $i+1, $n);
swap($str,$i,$j); // backtrack.
}
}
}

public static function swap(&$str,$i,$j) {
$temp = $str[$i];
$str[$i] = $str[$j];
$str[$j] = $temp;
}}

这就是我从 Controller 调用函数的方式。
Helper::permute($str,0,strlen($str))

我收到此错误:

Call to undefined function Helpers\swap()

最佳答案

您正在调用方法 swap()permute()来自静态上下文,但处理它们就好像它们是非静态的一样。
尝试将其更改为以下内容:

public static function permute($str,$i,$n) 
{
if ($i == $n)
return "$str\n";
else {
for ($j = $i; $j < $n; $j++) {
self::swap($str,$i,$j);
self::permute($str, $i+1, $n);
self::swap($str,$i,$j); // backtrack.
}
}
}

关于php - 无法在 Laravel 中调用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792636/

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