在PHP函数中访问单个数组变量

5 php arrays callback

我有一个函数userNumber($number),我想返回两个变量.我知道在PHP函数中返回多个变量是不可能的,所以我创建了一个数组,这样我就可以在需要时从数组中访问任何索引/值.该函数测试用户的输入是否在100和200之间,并应输出数字的立方和平方根.

我想在变量中调用函数:

$calculationSquare = userNumber($number);
$calculationCube = userNumer($number);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在每个变量中访问数组的每个值(比如调用索引的格式 - array []);

这是将数字转换为square/cube并通过数组返回值的函数:

function userNumber($number) {

    $square = "";
    $cubed = "";

if(100 < $number && $number < 200) {

$sqaure = sqrt($number);
$cubed = $number * $number * $number;

return array($square, $cubed);

} // end if

else {

       return false;
    } // end else
} // end function userNumber
Run Code Online (Sandbox Code Playgroud)

同样,这里是我想用返回值填充的两个变量(但不知道如何访问数组中的square或cube来相应地填充变量):

$calculationSquare = userNumber($number);
$calculationCube = userNumber($number);
Run Code Online (Sandbox Code Playgroud)

关于如何访问函数中的各个数组值的任何输入都将受到赞赏,或者有关此的更多信息.

Abr*_*ver 2

在当前的实现中,您可以在 PHP >= 5.4.0 中执行此操作:

$calculationSquare = userNumber($number)[0];
$calculationCube = userNumber($number)[1];
Run Code Online (Sandbox Code Playgroud)

或者更好的是,这只会调用该函数一次:

$result = userNumber($number);
$calculationSquare = $result[0];
$calculationCube = $result[1];
Run Code Online (Sandbox Code Playgroud)

或者更好的是,使用list()将数组值分配给各个变量:

list($calculationSquare, $calculationCube) = userNumber($number);
Run Code Online (Sandbox Code Playgroud)

上述方法也适用于以下返回的数组,但它可能更具描述性:

return array('square' => $square, 'cube' => $cubed);
Run Code Online (Sandbox Code Playgroud)

然后您可以使用list()或:

$calculationSquare = $result['square'];
$calculationCube = $result['cube'];
Run Code Online (Sandbox Code Playgroud)