小编Kan*_*iya的帖子

PHP错误.为什么array_map中的"变量未定义"?

array_map在我的php应用程序中使用函数.我像这样定义了array_map函数.

$ratingID =  $this->db->insert_id();

    $rated_item_array = array_map(function ($a) {
        return $a + array('RatingID' => $ratingID);
    }, $rated_item_array);  
Run Code Online (Sandbox Code Playgroud)

Php通知来了

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: ratingID
Run Code Online (Sandbox Code Playgroud)

当我打印$ratingID.我正确打印了值,因此定义了$ ratingID.为什么array_map功能不明确?我的$rated_item_array

Array
(
    [0] => Array
        (
            [RatingFactorPreferenceID] => 1,
            [PreferenceID] => 45,
            [RatedValue] => 1,
            [CreatedOn] => 1326790338,
            [CreatedBy] => 25
        )

    [1] => Array
        (
            [RatingFactorPreferenceID] => 2,
            [PreferenceID] => 45,
            [RatedValue] => 1,
            [CreatedOn] => 1326790338,
            [CreatedBy] => 25 …
Run Code Online (Sandbox Code Playgroud)

php arrays array-map

37
推荐指数
1
解决办法
2万
查看次数

如何计算两个日期之间的年数?

我想得到两个日期之间的年数.我可以得到这两天之间的天数,但是如果我将它除以365,结果是不正确的,因为有些年份有366天.

这是我获取日期差异的代码:

var birthday = value;//format 01/02/1900
var dateParts = birthday.split("/");

var checkindate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);   
var now = new Date();
var difference = now - checkindate;
var days = difference / (1000*60*60*24);

var thisyear = new Date().getFullYear();
var birthyear = dateParts[2];

    var number_of_long_years = 0;
for(var y=birthyear; y <= thisyear; y++){   

    if( (y % 4 == 0 && y % 100 == 0) || y % 400 == 0 ) {

                    number_of_long_years++;             
    }
}   
Run Code Online (Sandbox Code Playgroud)

日计数完美无缺.我正在尝试添加额外的日子,这是366天的一年,我正在做这样的事情: …

javascript datetime

35
推荐指数
6
解决办法
8万
查看次数

从PHP数组中删除NULL,FALSE和'' - 但不是0

我想删除NULL,FALSE''值.

我用过,array_filter但它也删除了0.

是否有anty功能来做我想要的?

array(NULL,FALSE,'',0,1) -> array(0,1)
Run Code Online (Sandbox Code Playgroud)

php arrays array-filter

31
推荐指数
3
解决办法
2万
查看次数

findOneAndUpdate与returnNewDocument一起使用:true返回原始文档MongoDB

我正在使用带有节点js的MongoDB npm install mongodb

我想更新现有文档并返回更新的文档,文档正确更新.但它返回旧文档意味着更新前的原始文档.我使用了returnNewDocument:true参数但没有用.

            var filter = {
                '_id': object_id
            },
            update = {
                $set: { "status" : data["status"] },
                $push: {
                    "statusHistory": {
                        $each: [{ status:data["status"],statusChangedTime:data["statusChangedTime"],comment:data["comment"]}],
                        $position:0,
                    }
                },
            }
            ,options = {
                //upsert: false,
                //multi: false,
                returnNewDocument: true
            };

            col.findOneAndUpdate(filter, update, options,function(err, res) {
                if (err) {

                    console.log(err);
                }else {

                    console.log(res);
                }
            });
Run Code Online (Sandbox Code Playgroud)

反应是

{ lastErrorObject: { updatedExisting: true, n: 1 },
  value: 
   { 
//original document
   },     
  ok: 1 }
Run Code Online (Sandbox Code Playgroud)

当我直接通过终端去mongoDB并尝试

db.MyCollection.find().pretty();
Run Code Online (Sandbox Code Playgroud)

文档正确更新,它只返回原始文件而不是更新的文件.

被困在这里2个小时,任何帮助表示赞赏

在package.json中 …

javascript mongodb node.js express

28
推荐指数
5
解决办法
7860
查看次数

jQuery .click不断添加到事件中,而不是替换它

我有以下代码块:

function testJQueryClick(){
     $('#button2').click(function(){ alert ('Debug'); return false; });       
}
Run Code Online (Sandbox Code Playgroud)

当我调用该函数一次(然后单击按钮2)时,我得到预期的警报.当我第二次调用相同的函数然后单击按钮2时,我得到两个警报,第三次我得到三个,等等.jQuery似乎.click每次都附加事件,而不是替换它.

我希望每次调用它时.click都要替换处理程序.我在jQuery文档中找不到任何确认这是预期行为的内容.

jquery click

25
推荐指数
1
解决办法
1万
查看次数

如何将属性添加到现有节点neo4j cypher?

我创建了一个标记为User的新节点

CREATE (n:User)
Run Code Online (Sandbox Code Playgroud)

我想为我的用户节点添加一个名称属性我尝试过

MATCH (n { label: 'User' })
SET n.surname = 'Taylor'
RETURN n
Run Code Online (Sandbox Code Playgroud)

但似乎没有影响.

如何向已创建的节点添加属性.

非常感谢你.

neo4j graph-databases cypher

23
推荐指数
1
解决办法
2万
查看次数

在javascript或jquery中有PHP array_key_exists的等价物

可能重复:
检查Javascript中是否存在关联数组键

我有一个PHP代码块.出于某种目的,我将其转换为JavaScript块.

我有PHP

if(array_key_exists($val['preferenceIDTmp'], $selected_pref_array[1]))
Run Code Online (Sandbox Code Playgroud)

现在我想在jQuery中这样做.有没有内置功能来做到这一点?

javascript php jquery

17
推荐指数
2
解决办法
1万
查看次数

Codeigniter如何处理转义输出?

我正在使用CodeIgniter.

最近,我读了一本PHP书,看到了一些函数,用于将输出转换为服务器到数据库

*_escape_string()
Run Code Online (Sandbox Code Playgroud)

从服务器到浏览器使用:

htmlentities()
htmlspecialchars()
Run Code Online (Sandbox Code Playgroud)

在我的Codeigniter应用程序中,这些函数是如何处理的?它是由框架内部处理的,还是我必须手动处理它?

在Ccodeigniter表单验证中,我已经看到了 xss_clean

$this->form_validation->set_rules('password', 'Password', 'required|xss_clean|min_length[6]|matches[confirmpassword]' );
Run Code Online (Sandbox Code Playgroud)

xss_clean为了防止跨站点脚本,还是处理上面我提到过的?

php codeigniter

15
推荐指数
1
解决办法
1万
查看次数

jquery验证,当输入字段具有title属性时,而不是错误消息标题作为错误消息给出

嗨,我正在使用jquery验证插件.

我有一个奇怪的问题,我有这样的证明

jQuery("#profile_info").validate({

    rules : {
        city : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        },
        state : {
            required : true,
            minlength : 3,
            maxlength : 30,
            cityvalidation: true
        }
    },
    messages : {
        city : {
            required : " City must be  filled in",
            minlength : "At least 3 characters long",
            maxlength : "Should not exceed 30 characters",
        },
        state : {
            required : " State must be  filled in",
            minlength : "At …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-validate

13
推荐指数
1
解决办法
6255
查看次数

我可以从服务器向客户端GRPC发送自定义错误消息吗?

我创建了一个简单的GRPC服务器和客户端.

我想要做的是在服务器中创建自定义错误并将其传递给客户端.我的代码如下:

Server.js

var error = require('error');

var PROTO_PATH = grpc.load(__dirname + '/proto/hello.proto');
var hello_proto = PROTO_PATH.hello;

function sayHello(call, callback) {

    try {
        var jsErr = new Error('MY_ERROR');
        jsErr.newStatus = 401;
        jsErr.newMessage = 'custom unAuthorized error';
        console.log(Object.getOwnPropertyNames(jsErr));
        console.log(jsErr);
        callback(jsErr);

    } catch(e) {
        callback(e);
    }
}

function sayHelloAgain(call, callback) {
    callback(null, {message: 'Hello Again ' + call.request.name});
}

function main() {

    var server = new grpc.Server();
    server.addProtoService(hello_proto.Hello.service, {sayHello: sayHello,sayHelloAgain: sayHelloAgain });
    server.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure());
    server.start();
}

main();
Run Code Online (Sandbox Code Playgroud)

Client.js

var grpc = require('grpc'); …
Run Code Online (Sandbox Code Playgroud)

javascript protocol-buffers node.js grpc

13
推荐指数
2
解决办法
5738
查看次数