php – JQuery和JSON数组 – 如何检查数组是空还是未定义?

我需要将PHP数组传递给 jquery来完成某些任务.为SESSION创建PHP数组,然后为jquery创建json_encoded.之后,我将该变量存储到window js命名空间,以便在我的jquery脚本中使用该数组.
if(isset($_SESSION['mySession'])){
    $json_array = json_encode($PHP_array);
}

<script>
    <?PHP echo "window.json_from_PHP = ".$json_array; ?>
</script>

我需要做的是在做任何事之前检查这个数组是否存在/是空/未定义. check子句对’undefined’操作数成功,但对其余操作不成功.如何在jquery中检查数组是否为空?

这是初始化后json_encoded数组的输出,当$PHP_array中没有任何元素时:

string '[""]' (length=4)

这是jquery:

$(function() {
        var results = $('#results');
        var js_array = window.json_from_PHP;
        var count = js_array.length;

        if ((typeof window.json_from_PHP === 'undefined') || (js_array === null) || (jQuery.isEmptyObject(js_array)) || (count === 0)) {
            $('<p>Array is empty.</p>').appendTo(results);
        }
        else {
            jQuery.each(js_array,function(key,val){
                $('<ul><li id="'+key+'">'+val+'</li></ul>').appendTo(results);                  
            });
        }
    });
这是我检查空/ null json数组的方法.
if (js_array == undefined || js_array == null || js_array.length == 0){
    $('<p>Array is empty.</p>').appendTo(results);
}

如果您的json数组是[“”],那么您可能需要添加类似的东西

if (js_array == undefined || js_array == null || js_array.length == 0 || (js_array.length == 1 && js_array[0] == ""))

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...