Пожалуйста, прочитайте документацию PHP о Переменная Область для получения дополнительной информации.Переменные внутри вашей функции являются локальными, поэтому вы не можете получить к ним доступ вне вашей функции.Вам придется что-то вернуть.
Например, это может сработать:
function avar($result) {
$resultArray = false;
$row = $result->fetch_assoc();
foreach ($row as $key => $value) {
$resultArray = [
'key' => $key,
'value' => $value
];
}
return $resultArray;
}
$result = $mysqli->query($count);
$queryResult = avar($result);
if ($queryResult) {
echo 'Key: ' . $queryResult['key'] . ' | Value: ' . $queryResult['value'];
}
Обратите внимание, что fetch_assoc
вернет array
с несколькими элементами, если их большеодин результат.В моем примере будет возвращен только один (и последний) результат.
Редактировать: Как сказал @Nigel Ren в своем комментарии.В этом случае вы в основном перестраиваете массив, который будет выглядеть (почти) так же, как массив, возвращаемый fetch_assoc
, что бессмысленно.Моя функция может быть использована, если вы хотите добавить условия в будущем или манипулировать некоторыми данными.В противном случае, не используйте функцию, а просто используйте результаты из fetch_assoc
.