无法读取函数内的var

时间:2017-08-10 21:39:01

标签: php

我想从我从这个git复制的奇怪函数中读取一个变量。

这是原始功能:

$values = array_map(function ($value) use ($connection) {
  if ($value===null) return null;
//  return mysqli_real_escape_string($connection,(string)$value);
  return pg_escape_string($connection,(string)$value);
},array_values($input));

我把它改成了这个,以使其适应我的需要(文件上传)

$values = array_map(function ($value) use ($connection) {
    if ($value === null)
        return null;
    if (gettype($value) === "array"){

        $tmpname=$value['tmp_name'];

       $value=$value['name'];

    }
    return mysqli_real_escape_string($connection, (string) $value);
}, array_values($input));

问题是我无法从此功能外读取$tmpname 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

所以@rtfm所说的答案是设置一个像这样的全局变量

$values = array_map(function ($value) use ($connection) {
    if ($value === null)
        return null;
    if (gettype($value) === "array"){

        global $tmpname;
        $tmpname=$value['tmp_name'];
       $value=$value['name'];
    }
    return mysqli_real_escape_string($connection, (string) $value);
}, array_values($input));