产生新变量以在函数外部使用的函数 - PHP

时间:2014-08-27 15:17:09

标签: php

如何更改下面的函数以生成一个新函数,以便在函数外部使用?

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

有人能提供解决方案吗? 谢谢。

3 个答案:

答案 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 变量,您应该得到了您想要的。