exports.saveimage = function(req, res, next) {
var imgPath = '/Users/Documents/logo.png';
var logoimage = new LogoImage(req.body);
logoimage.Photo.data = fs.readFileSync(imgPath);
logoimage.Photo.contentType = 'image/png';
logoimage.save(function (err, logoimage) {
if (err) {
console.log(err);
return res.status(400).send({
message:'unable to save'
});
} else {
res.json(logoimage);
console.error('saved img to mongo');
}
});
};
我有这个递归函数,我不能让它返回正确的值...它只返回false。
答案 0 :(得分:1)
你需要这样的东西:
function recursiveSearchKeyByVal($array, $needle) {
$k = false;
foreach($array as $key => $val) {
if( is_array($val) ) {
$k = array_search($needle, $val);
if( $k ) {
#var_dump($k); //<-- string(8) "12345678" TRUE
return $k; //<-- bool(false) FALSE ?????????
} else {
$k = recursiveSearchKeyByVal($val, $needle);
}
}
}
return $k;
}
答案 1 :(得分:0)
这是有效的,如果值位于数组的第一个深处,我添加了支持,就像你可以在任何地方找到它一样。
function recursiveSearchKeyByVal($array, $needle) {
$k = false;
foreach($array as $key => $val) {
if( is_array($val) ) {
$k = array_search($needle, $val);
if( !$k ) {
$k = recursiveSearchKeyByVal($val, $needle);
}
} elseif ($needle == $val) {
$k = $key;
}
}
return $k;
}
在此测试:demo