如何更改下面的函数以生成一个新函数,以便在函数外部使用?
PHP功能
function sizeShown ($size)
{
// *** Continental Adult Sizes ***
if (strpos($size, 'continental-')!== false)
{
$size = preg_replace("/\D+/", '', $size);
$searchsize = 'quantity_c_size_' . $size;
}
return $searchsize;
示例
<?php
sizeShown($size);
$searchsize;
?>
目前产生null
值和Notice: undefined variable
。
因此该函数接受一个参数,一个包含与size相关的字符串的变量。它检查变量的字符串'continental-',如果发现它修剪了除数字之外的所有字符串。创建了一个新变量$searchsize
,它将'quantity_c_size_'附加到$size
中存储的值。
结果就是这样... quantity_c_size_45
我希望能够在同一个脚本中的函数外部调用$searchsize
。
有人能提供解决方案吗? 谢谢。
答案 0 :(得分:1)
尝试使用global关键字,如下所示:
function test () {
global $test_var;
$test_var = 'Hello World!';
}
test();
echo $test_var;
然而,这通常不是一个好的编码实践。所以我建议如下:
function test () {
return 'Hello World!';
}
$test_var = test();
echo $test_var;
答案 1 :(得分:0)
在函数'sizeShown'中你只是返回函数。调用函数时,您忘记回显函数。
echo sizeShown($size);
echo $searchsize;
?>
但你打电话给$ searchsize的方式是不可能的。
答案 2 :(得分:0)
这是一个老问题,我可能没有正确理解 OP 的问题,但你为什么不能这样做:
<?php
$searchsize = sizeShown($size);
?>
您已经从 $searchsize
方法返回了 sizeShown
。因此,如果您只是将函数的结果分配给 $sizeShown
变量,您应该得到了您想要的。