Я написал цикл foreach и сохранен на нескольких строках кода. Он в основном принимает все переменные $ _POST и использует их имена для создания обычных php-переменных.PHP: возвращает значения из foreach внутри настраиваемой функции
foreach(array_keys($_POST) as $str)
{
${$str}=mysqli_real_escape_string($connection,trim($_POST["$str"]));
}
Он работает как ожидалось, создавая переменные динамически.
Теперь я хотел бы поставить его в пользовательской функции, так что я изменил его так:
function createvariablesfromPOST()
{
foreach(array_keys($_POST) as $str)
{
${$str}=mysqli_real_escape_string($GLOBALS["connection"],trim($_POST["$str"]));
}
return //something;
}
Ее не работает, очевидно, потому что я не знаю, как сделать эту функцию возврата // что-то (независимо от того, что вещь может быть) в глобальном масштабе. Что должно быть сделано здесь?
Я не могу заставить петлю foreach возвращать что-либо, пока цикл не будет завершен. Разве это не так?
Пожалуйста, помогите.
То, что вы делаете, является прекрасным примером того, что вы должны делать ** никогда ** делать – zerkms
Вы можете возвращать только один и только один элемент (где «элемент» - это одна переменная, которая также может быть массивом, содержащим несколько значений, тогда). Чтобы использовать автоматически создаваемые переменные вне функции, вам необходимо установить их как глобальные. Но, как упоминалось выше, вы должны подумать о более надежном решении. – djot
Привет, @Phil: Я читаю указанную вами страницу –