test(lang): 添加 foreach 循环和 func_get_arg 函数测试用例

- 添加 foreachLoop-04.phpt 测试数组元素作为值的循环功能
- 添加 func_get_arg-001.phpt 测试 PHP7 中 func_get_arg 函数行为
- 添加 func_get_arg_variation.phpt 测试 func_get_arg 参数变化情况
- 验证 foreach 循环中数组元素赋值的预期输出结果
- 验证 func_get_arg 函数在不同参数位置下的异常处理
pull/1/head
韩天峰 5 months ago
parent 2267de194b
commit a8483af474
  1. 76
      tests/core/lang/foreachLoop-004.phpt
  2. 18
      tests/core/lang/func_get_arg-001.phpt
  3. 29
      tests/core/lang/func_get_arg_variation.phpt

@ -0,0 +1,76 @@
--TEST--
Foreach loop tests - using an array element as the $value
--FILE--
<?php
$a=array("a", "b", "c");
$v=array();
foreach($a as $v[0]) {
var_dump($v);
}
var_dump($a);
var_dump($v);
echo "\n";
$a=array("a", "b", "c");
$v=array();
foreach($a as $k=>$v[0]) {
var_dump($k, $v);
}
var_dump($a);
var_dump($k, $v);
?>
--EXPECT--
array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "b"
}
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
array(1) {
[0]=>
string(1) "c"
}
int(0)
array(1) {
[0]=>
string(1) "a"
}
int(1)
array(1) {
[0]=>
string(1) "b"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}

@ -0,0 +1,18 @@
--TEST--
func_get_arg test (PHP7)
--FILE--
<?php
function foo($a)
{
$a=5;
echo func_get_arg(0);
}
function main() {
foo(2);
echo "\n";
}
?>
--EXPECT--
5

@ -0,0 +1,29 @@
--TEST--
func_get_arg test
--FILE--
<?php
function foo($a)
{
$a=5;
try {
echo func_get_arg(-1);
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
echo func_get_arg(2);
} catch (\Error $e) {
echo $e->getMessage() . \PHP_EOL;
}
}
function main() {
foo(2);
}
?>
--EXPECT--
func_get_arg(): Argument #1 ($position) must be greater than or equal to 0
func_get_arg(): Argument #1 ($position) must be less than the number of the arguments passed to the currently executed function
Loading…
Cancel
Save