mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Improve error message of foreach
Closes GH-5240
This commit is contained in:
parent
c5f091e47f
commit
f44dd16b7a
9 changed files with 24 additions and 24 deletions
|
@ -10,5 +10,5 @@ echo "Done\n";
|
|||
--EXPECTF--
|
||||
Warning: Undefined variable: a in %s on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line %d
|
||||
Warning: foreach() argument must be of type array|object, null given in %s on line %d
|
||||
Done
|
||||
|
|
|
@ -6188,7 +6188,7 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET_R, CONST|TMP|VAR|CV, JMP_ADDR)
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
FREE_OP1();
|
||||
|
@ -6277,7 +6277,7 @@ ZEND_VM_COLD_CONST_HANDLER(125, ZEND_FE_RESET_RW, CONST|TMP|VAR|CV, JMP_ADDR)
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
if (OP1_TYPE == IS_VAR) {
|
||||
|
@ -6587,7 +6587,7 @@ ZEND_VM_HANDLER(126, ZEND_FE_FETCH_RW, VAR, ANY, JMP_ADDR)
|
|||
value_type = Z_TYPE_INFO_P(value);
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array)));
|
||||
if (UNEXPECTED(EG(exception))) {
|
||||
UNDEF_RESULT();
|
||||
HANDLE_EXCEPTION();
|
||||
|
|
|
@ -4175,7 +4175,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
if (IS_CONST == IS_VAR) {
|
||||
|
@ -17685,7 +17685,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_R_SPEC_TMP_HANDLER(ZE
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
|
||||
|
@ -17773,7 +17773,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_TMP_HANDLER(Z
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
if (IS_TMP_VAR == IS_VAR) {
|
||||
|
@ -20345,7 +20345,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_R_SPEC_VAR_HANDLER(ZE
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
|
||||
|
@ -20434,7 +20434,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_VAR_HANDLER(Z
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
if (IS_VAR == IS_VAR) {
|
||||
|
@ -20744,7 +20744,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_RW_SPEC_VAR_HANDLER(Z
|
|||
value_type = Z_TYPE_INFO_P(value);
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array)));
|
||||
if (UNEXPECTED(EG(exception))) {
|
||||
UNDEF_RESULT();
|
||||
HANDLE_EXCEPTION();
|
||||
|
@ -36334,7 +36334,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_R_SPEC_CV_HANDLER(ZEN
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
|
||||
|
@ -36422,7 +36422,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_CV_HANDLER(ZE
|
|||
}
|
||||
}
|
||||
} else {
|
||||
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
|
||||
zend_error(E_WARNING, "foreach() argument must be of type array|object, %s given", zend_get_type_by_const(Z_TYPE_P(array_ptr)));
|
||||
ZVAL_UNDEF(EX_VAR(opline->result.var));
|
||||
Z_FE_ITER_P(EX_VAR(opline->result.var)) = (uint32_t)-1;
|
||||
if (IS_CV == IS_VAR) {
|
||||
|
|
|
@ -24,5 +24,5 @@ SimpleXMLElement Object
|
|||
(
|
||||
)
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %sbug38347.php on line 6
|
||||
Warning: foreach() argument must be of type array|object, null given in %sbug38347.php on line 6
|
||||
Done
|
||||
|
|
|
@ -58,7 +58,7 @@ for ($sxe->rewind(); $sxe->valid(); $sxe->next()) {
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Invalid argument supplied for foreach() in %ssxe_003.php on line %d
|
||||
Warning: foreach() argument must be of type array|object, null given in %ssxe_003.php on line %d
|
||||
===RESET===
|
||||
bool(true)
|
||||
string(5) "elem1"
|
||||
|
|
|
@ -13,5 +13,5 @@ echo 'OK';
|
|||
--EXPECTF--
|
||||
Warning: Undefined property: foo::$x in %s on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %sbug27468.php on line 4
|
||||
Warning: foreach() argument must be of type array|object, null given in %sbug27468.php on line 4
|
||||
OK
|
||||
|
|
|
@ -67,10 +67,10 @@ echo "===DONE===";
|
|||
123
|
||||
Warning: Undefined property: test::$foobar in %s on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line %d
|
||||
Warning: foreach() argument must be of type array|object, null given in %s on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line %d
|
||||
Warning: foreach() argument must be of type array|object, string given in %s on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line %d
|
||||
Warning: foreach() argument must be of type array|object, string given in %s on line %d
|
||||
123
|
||||
===DONE===
|
||||
|
|
|
@ -13,4 +13,4 @@ foreach($var['nosuchkey'] as $v) {
|
|||
--EXPECTF--
|
||||
Warning: Illegal string offset 'nosuchkey' in %sbug29566.php on line %d
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %sbug29566.php on line %d
|
||||
Warning: foreach() argument must be of type array|object, string given in %sbug29566.php on line %d
|
||||
|
|
|
@ -33,13 +33,13 @@ echo "done.\n";
|
|||
--EXPECTF--
|
||||
Not an array.
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line 4
|
||||
Warning: foreach() argument must be of type array|object, bool given in %s on line 4
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line 9
|
||||
Warning: foreach() argument must be of type array|object, null given in %s on line 9
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line 14
|
||||
Warning: foreach() argument must be of type array|object, int given in %s on line 14
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line 19
|
||||
Warning: foreach() argument must be of type array|object, float given in %s on line 19
|
||||
|
||||
Warning: Invalid argument supplied for foreach() in %s on line 24
|
||||
Warning: foreach() argument must be of type array|object, string given in %s on line 24
|
||||
done.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue