无法在 Laravel 中调用自定义函数
Unable to call custom function in Laravel
我正在尝试检索基于字符串的排列集。但是,我无法正确执行该功能。我不太擅长 public static 或 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;
}}
这就是我从我的控制器调用函数的方式。
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.
}
}
}
我正在尝试检索基于字符串的排列集。但是,我无法正确执行该功能。我不太擅长 public static 或 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;
}}
这就是我从我的控制器调用函数的方式。
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.
}
}
}