いくつかのタスクのためにphp配列をjqueryに渡す必要があります。php配列はSESSION用に作成され、json_encoded用にjquery用に作成されます。その後、jqueryスクリプトで配列を使用するために、その変数をwindowjs名前空間に格納します。
if(isset($_SESSION['mySession'])){
$json_array = json_encode($php_array);
}
<script>
<?php echo "window.json_from_php = ".$json_array; ?>
</script>
私がする必要があるのは、何かをする前に、この配列がまったく存在するか、空であるか、未定義であるかを確認することです。check句は、「undefined」オペランドでは成功しますが、残りの部分では成功しません。配列が空かどうかをjqueryで確認するにはどうすればよいですか?
これは、$ php_arrayに要素がない場合の、初期化後のjson_encoded配列の出力です。
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);
});
}
});