TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

51 lines
1.2 KiB

--TEST--
Test usort() function : usage variations - referenced variables
--SKIPIF--
<?php die("skip AOT does not fully support references"); ?>
--FILE--
<?php
function cmp_function($value1, $value2)
{
if ($value1 == $value2) {
return 0;
} else if ($value1 > $value2) {
return 1;
} else {
return -1;
}
}
function main()
{
/*
* Pass an array of referenced variables as $array_arg to test behaviour
*/
echo "*** Testing usort() : usage variation ***\n";
// different variables which are used as elements of $array_arg
$value1 = -5;
$value2 = 100;
$value3 = 0;
$value4 =& $value1;
// array_args an array containing elements with reference variables
$array_arg = array(0 => 10, 1 => &$value4, 2 => &$value2, 3 => 200, 4 => &$value3);
echo "\n-- Sorting \$array_arg containing different references --\n";
var_dump(usort($array_arg, 'cmp_function'));
var_dump($array_arg);
}
?>
--EXPECT--
*** Testing usort() : usage variation ***
-- Sorting $array_arg containing different references --
bool(true)
array(5) {
[0]=>
&int(-5)
[1]=>
&int(0)
[2]=>
int(10)
[3]=>
&int(100)
[4]=>
int(200)
}