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
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)
|
|
}
|
|
|