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.
102 lines
1.9 KiB
102 lines
1.9 KiB
--TEST--
|
|
Test array_fill() function : usage variations - unexpected values for 'val' argument
|
|
--SKIPIF--
|
|
<?php
|
|
if (true) die("skip AOT does not support undefined variables");
|
|
?>
|
|
|
|
--FILE--
|
|
<?php
|
|
// define a class
|
|
class test
|
|
{
|
|
var $t = 10;
|
|
function __toString(): string {
|
|
return "testObject";
|
|
}
|
|
}
|
|
function main()
|
|
{
|
|
/*
|
|
* testing array_fill() by passing different unexpected values for 'val' argument
|
|
*/
|
|
echo "*** Testing array_fill() : usage variations ***\n";
|
|
// Initialise function arguments not being substituted
|
|
$start_key = 0;
|
|
$num = 2;
|
|
//get an unset variable
|
|
$unset_var = 10;
|
|
unset($unset_var);
|
|
//array of different values for 'val' argument
|
|
$values = array(
|
|
// empty string
|
|
/* 1 */
|
|
"",
|
|
'',
|
|
// objects
|
|
/* 3 */
|
|
new test(),
|
|
// undefined variable
|
|
@$undefined_var,
|
|
// unset variable
|
|
/* 5 */
|
|
@$unset_var,
|
|
);
|
|
// loop through each element of the array for 'val' argument
|
|
// check the working of array_fill()
|
|
echo "--- Testing array_fill() with different values for 'val' argument ---\n";
|
|
$counter = 1;
|
|
for ($index = 0; $index < count($values); $index++) {
|
|
echo "-- Iteration {$counter} --\n";
|
|
$val = $values[$index];
|
|
var_dump(array_fill($start_key, $num, $val));
|
|
$counter++;
|
|
}
|
|
echo "Done";
|
|
}
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing array_fill() : usage variations ***
|
|
--- Testing array_fill() with different values for 'val' argument ---
|
|
-- Iteration 1 --
|
|
array(2) {
|
|
[0]=>
|
|
string(0) ""
|
|
[1]=>
|
|
string(0) ""
|
|
}
|
|
-- Iteration 2 --
|
|
array(2) {
|
|
[0]=>
|
|
string(0) ""
|
|
[1]=>
|
|
string(0) ""
|
|
}
|
|
-- Iteration 3 --
|
|
array(2) {
|
|
[0]=>
|
|
object(test)#%d (1) {
|
|
["t"]=>
|
|
int(10)
|
|
}
|
|
[1]=>
|
|
object(test)#%d (1) {
|
|
["t"]=>
|
|
int(10)
|
|
}
|
|
}
|
|
-- Iteration 4 --
|
|
array(2) {
|
|
[0]=>
|
|
NULL
|
|
[1]=>
|
|
NULL
|
|
}
|
|
-- Iteration 5 --
|
|
array(2) {
|
|
[0]=>
|
|
NULL
|
|
[1]=>
|
|
NULL
|
|
}
|
|
Done
|
|
|